Capture container topology, deployed revision, migration head, volumes, network and env-var names on the existing review deployment before any functional-completion changes, per the audit brief's server-first workflow.
4.7 KiB
Unraid server baseline (functional-completion audit)
Captured 2026-08-02 before any functional-completion changes, via ssh unraid (alias in
~/.ssh/config, key itworx_unraid_deploy; the widefrog_unraid_deploy identity named in
the task brief does not exist locally — the working alias/key was used instead, no new key
was created).
SSH access
ssh -o BatchMode=yes -o ConnectTimeout=10 unraid "hostname && docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'"
Result: reachable, host Tower. widefrog_unraid_deploy is not a valid identity path on
this workstation (~/.ssh/widefrog_unraid_deploy does not exist); the pre-existing
unraid SSH config alias (itworx_unraid_deploy key, root@192.168.10.150:22) was used
instead and is fully functional. No key was created, copied, or replaced.
Deployed containers (Compose project mobilityops)
| Container | Image | Status | Health | Restarts | Host port |
|---|---|---|---|---|---|
mobilityops-web-1 |
mobilityops-web |
Up | healthy | 0 | 1236:80 |
mobilityops-api-1 |
mobilityops-api |
Up | healthy | 0 | none (compose-network only) |
mobilityops-db-1 |
postgres:16-alpine |
Up | healthy | 0 | none (compose-network only) |
Shared host n8n container (outside the mobilityops Compose project, pre-existing
infrastructure): Up, healthy, 5678:5678, on the default bridge network (not on
mobilityops_mobilityops).
Deployment directory: /mnt/user/appdata/mobilityops (matches docs/17-runbook.md /
deploy/unraid/README.md).
Deployed revision
.deploy/source-revision on the server contains:
54dc952915a4874fcdf14781e1c37feb0e253851
This matches the local design/mobilityops-premium-ui HEAD (54dc952) exactly — the
server is running the last committed premium-design revision, confirming the externally
observed branch/revision. .deploy/ also retains prior archives
(source-a737860.tar.gz, source-686b62f.tar.gz, source.tar.gz) for rollback.
Migrations
docker compose -p mobilityops exec -T api python -m alembic current
# e7b08389f47f (head)
Matches the local repository's Alembic head (backend/alembic/versions/:
c9498525abb5_initial_schema.py → e7b08389f47f_idempotency_records.py). No drift.
Volumes and network
mobilityops_mobilityops-db(Postgres data, named/persistent)mobilityops_mobilityops-n8n(retained from an earlier bundled-n8n attempt; unused now that the shared hostn8nis reused — seecompose.unraid.yamlbundled-n8nprofile)- Network:
mobilityops_mobilityops(bridge)
Environment variable names present on the server .env
(names only — no values inspected or printed)
APP_SECRET, COMPOSE_PROJECT_NAME, DATABASE_URL, DEMO_TODAY, KNOWLEDGE_PROVIDER,
MCP_HUB_BASE_URL, MCP_HUB_REGISTRATION_ENABLED, MCP_HUB_SERVICE_TOKEN,
MCP_PROVIDER_ID, MOBILITYOPS_API_URL, MOBILITYOPS_CALLBACK_TOKEN,
MOBILITYOPS_DEMO_MODE, MOBILITYOPS_ENV, MOBILITYOPS_PUBLIC_URL, N8N_BASE_URL,
N8N_BASIC_AUTH_ACTIVE, N8N_BASIC_AUTH_PASSWORD, N8N_BASIC_AUTH_USER,
N8N_ENCRYPTION_KEY, N8N_OWNER_EMAIL, N8N_OWNER_PASSWORD, N8N_WEBHOOK_URL,
POSTGRES_DB, POSTGRES_PASSWORD, POSTGRES_USER, RAGCORE_API_TOKEN,
RAGCORE_BASE_URL, RAGCORE_COLLECTION, RAGCORE_TENANT, RAGCORE_WORKSPACE, TZ.
diff against the committed .env.example variable set: no difference — the server
.env was generated from the current .env.example with no drift in variable names.
Integration configuration (as previously documented in
artifacts/deployment/unraid-summary.md, re-verified live)
- n8n: shared host instance at
http://192.168.10.150:5678, healthy, outside the MobilityOps Compose project. The bundled MobilityOpsn8nservice exists only behind thebundled-n8nCompose profile and is not started. - RAGcore:
KNOWLEDGE_PROVIDER=demo— not live-connected by design; no live RAGcore instance exists yet. - ITWorx MCP Hub:
MCP_HUB_REGISTRATION_ENABLED=false— provider endpoints exist and are independently testable, but no live Hub round trip is claimed.
Application reachability
curl -s -o /dev/null -w "%{http_code}\n" http://192.168.10.150:1236/
# 200
Startup log scan
docker compose -p mobilityops logs --tail=200 api
No traceback, fatal, or unresolved startup error observed — only routine GET /health
polling entries from the Compose healthcheck.
Configuration differences vs. the committed repository
None found: deployed source revision, Alembic head, and .env.example variable set all
match the current design/mobilityops-premium-ui branch exactly. This baseline was
captured immediately before any functional-completion work began.