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
آخر نشاط في المصدر
٢ سبتمبر ٢٠٢٦ في ٠٠:٢٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٩١٩
التفرعات
٢

خيارات التثبيت

يُحدَّد 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