fix(deploy): reuse shared server n8n

This commit is contained in:
NuklearRabbit
2026-08-02 03:56:17 +02:00
parent 686b62f592
commit 1f292e14bb
12 changed files with 234 additions and 61 deletions
+24 -15
View File
@@ -6,13 +6,15 @@
`/mnt/user/appdata/mobilityops`, Compose project `mobilityops`.
- Deployment config commits: `07ab7a3`, `847cd05`, `e1a1c67`, `1e13943`. The accepted
baseline `4bf9afbeff44088864e0844769d4dd0e4089d85b` remains intact.
- All four services are healthy with zero restarts. Only web port 1236 is exposed to the
LAN; n8n is loopback-only on host port 15678; API and PostgreSQL are internal.
- MobilityOps PostgreSQL, API and web services are healthy. Only web port 1236 is exposed
by the MobilityOps Compose project; API and PostgreSQL remain internal. Automation uses
the server's existing shared n8n at `http://192.168.10.150:5678`; no second MobilityOps
n8n container is running.
- Migrations are at `e7b08389f47f (head)` and deterministic seed counts match final
acceptance. A Chrome smoke test covered every requested page and a real return; its n8n
event succeeded on attempt 1. Browser console and recent service log scans were clean.
- RAGcore is disabled in favor of the honest local demo provider. MCP Hub registration is
disabled. n8n is initialized, published, healthy, and live-verified.
disabled. The MobilityOps workflow is published in the existing n8n and live-verified.
- Local post-change gates: 66 backend tests, Ruff, mypy (44 files), and frontend production
build all pass. Evidence is in `artifacts/deployment/unraid-summary.md`.
- Published to the private Gitea repository
@@ -294,20 +296,27 @@ None. External service credentials may be absent; use the documented demo/degrad
- `docker compose run --rm api ruff check .`**All checks passed**.
- `docker compose run --rm api mypy app`**0 issues in 44 files**.
- `cd frontend && npm run lint` — clean TypeScript check.
- `cd frontend && npm run build` — production build succeeded (59 modules; 238.66 kB JS,
36.54 kB CSS before gzip).
- `cd frontend && playwright test --reporter=line`**18 passed** including the full
- `cd frontend && npm run build` — production build succeeded (59 modules; 240.24 kB JS,
36.63 kB CSS before gzip).
- `cd frontend && playwright test --reporter=line`**19 passed** including the full
five-minute demo, every interactive route, return review semantics and four viewport
overflow checks.
- Review deployment updated at `http://192.168.10.150:1236` with persistent PostgreSQL
and n8n volumes preserved. Deployed smoke: all ten authenticated routes plus login at
data preserved. Deployed smoke: all ten authenticated routes plus login at
desktop and mobile sizes rendered without alert state or horizontal overflow; browser console had zero
warnings/errors; seven authenticated API paths returned 200; PostgreSQL/API were
healthy and n8n `/healthz` returned `{"status":"ok"}`.
- The repository compose file uses developer ports, so the existing review deployment's
established bindings were restored after archive extraction: web `1236:80`, n8n
`127.0.0.1:15678:5678`, and no host API port. This is deployment configuration only;
no unrelated container was altered.
- Exact next action after this record: commit and push the deployed evidence, update the
deployed source-revision marker to that final documentation commit without rebuilding
unchanged images, then hand the branch off for review. Do not merge master automatically.
healthy and the shared n8n `/healthz` returned `{"status":"ok"}`.
- Corrected the review topology after confirming the host already runs n8n on port 5678:
the temporary `mobilityops-n8n-1` container was removed without deleting its retained
volume; the bundled service is now opt-in through the `bundled-n8n` profile; the API
points to the shared n8n; and the return workflow is imported and published there.
- The existing n8n's previously empty `N8N_HOST` and `N8N_EDITOR_BASE_URL` values were
persistently set in its Unraid template. A synthetic return then completed the full
MobilityOps → shared n8n → callback round trip as `succeeded` on attempt 1, after which
deterministic demo state was restored (`BK-DEMO-RETURN` is `active`).
- Global search is now live for Control Rail sections and `MO-*`, `BK-*`, `DQ-*` public
references, including Ctrl/Cmd+K focus and a tested not-found announcement. Final local
Playwright result is **19 passed**.
- Exact next action after this record: commit, push and deploy these final topology/search
corrections, update the deployed source-revision marker, then hand the branch off for
review. Do not merge master automatically.