Files
MobilityOps/docs/functional-completion/server-baseline.md
T
NuklearRabbit 938a739dfe docs(deploy): record current Unraid baseline
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.
2026-08-02 04:51:43 +02:00

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.pye7b08389f47f_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 host n8n is reused — see compose.unraid.yaml bundled-n8n profile)
  • 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 MobilityOps n8n service exists only behind the bundled-n8n Compose 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.