Wire Firebase Web config and VAPID through build-args/dart-define,
populate firebase-messaging-sw.js at image build, and soft-fallback to
install: tokens when secrets are absent. Live accept still needs Master
.env FIREBASE_* values and a web rebuild.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>
Prefer FCM_SERVICE_ACCOUNT_FILE/JSON over legacy FCM_SERVER_KEY,
mount secrets/ into core-backend, and document Master JSON placement.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>
Attach web to nginx-proxy_default; record live cutover (NPM host #7,
old MSN stopped) and mark N2-B8–B12 done.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>
Add Postgres + internal AI + core-backend + Flutter web (nginx API/WS
proxy). Document Portainer usage and env template; mark N2-B1–B7 done.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>