Skip to main content

web-ng-docker-loop

Run ServiceRadar `elixir/web-ng` locally against the Docker Compose CNPG database with copied mTLS certs and Docker secrets, then verify dashboard UI changes with Playwright. Use when iterating on web-ng, dashboard package, custom React dashboard, customer WiFi map, SRQL topbar, or browser screenshot behavior without rebuilding the web-ng release image.

설치로 이동

소스 정보

저장소
carverauto/serviceradar
최근 소스 활동
2026년 9월 2일 00:28
감지된 SKILL.md 언어
영어
스타
916
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
4 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
web-ng-docker-loop
description
Run ServiceRadar `elixir/web-ng` locally against the Docker Compose CNPG database with copied mTLS certs and Docker secrets, then verify dashboard UI changes with Playwright. Use when iterating on web-ng, dashboard package, custom React dashboard, customer WiFi map, SRQL topbar, or browser screenshot behavior without rebuilding the web-ng release image.
# Web-NG Docker Loop Use this skill for fast local UI iteration when Docker Compose is already running the ServiceRadar mTLS stack. Prefer this loop over Bazel/release-image rebuilds until the final Docker parity check. ## Quick Start From the ServiceRadar repo root: ```bash .agents/skills/web-ng-docker-loop/scripts/start-local-web-ng.sh ``` The script: - copies `root.pem`, `db-client.pem`, and `db-client-key.pem` from the Docker web-ng cert mount into `tmp/web-ng-docker-loop/certs/` - reads the CNPG app password from the running Docker secret without printing it - validates the local host connection to `localhost:5455` - syncs Docker filesystem plugin/dashboard package blobs into `tmp/web-ng-docker-loop/plugin-packages/` - starts `mix phx.server` in `elixir/web-ng` on `http://localhost:4000` If the app database password in Docker secrets does not match the local CNPG role, rerun once with: ```bash .agents/skills/web-ng-docker-loop/scripts/start-local-web-ng.sh --repair-app-password ``` That repair path is only for the local Docker Compose stack; it uses the Docker superuser secret to reset the Docker `serviceradar` role to the Docker app secret. ## Dashboard Package Import After rebuilding a dashboard package, import it into the Docker-backed database without rebuilding web-ng: ```bash .agents/skills/web-ng-docker-loop/scripts/import-dashboard-package.sh \ /home/mfreeman/src/example-dashboard/dist/manifest.json \ /home/mfreeman/src/example-dashboard/dist/renderer.js ``` This imports and enables the package through the running Docker web-ng release RPC, then prints the enabled content hash. Restart the local loop, or rerun it with the default plugin-storage sync enabled, after importing a new dashboard renderer. ## Browser Checks Use `$playwright-cli` for interactive inspection and screenshots: ```bash playwright-cli open http://localhost:4000/dashboards/wifi-network-map playwright-cli snapshot playwright-cli screenshot --filename=tmp/wifi-map-local.png ``` If authentication is required, obtain the admin password from `docker compose logs config-updater` without writing it into committed files. ## Notes - Keep generated certs and screenshots under `tmp/`; do not commit them. - Stop stale local Phoenix servers before starting a new one: `pkill -f 'mix phx.server'`. - Use the Docker route (`https://192.168.2.134/...`) only for final parity after local checks pass. - Run `npm run build:js && npm run build:css` in `elixir/web-ng/assets` after JS/CSS changes before browser checks.
GitHub에서 보기