Skip to content

Reference n8n state

LXC CT 106 on Finn, hostname n8n (renaming to forge-n8n in Phase 4.1), IP 192.168.86.82.

  • Docker + n8n latest, port 5678, restart: unless-stopped
  • Compose: /opt/n8n/docker-compose.yml inside CT 106
  • UI: http://192.168.86.82:5678
  • Timezone: America/Chicago
  • AppArmor fix: security_opt: apparmor:unconfined in compose (required for Docker in unprivileged LXC)

SQLite warning: never docker cp the n8n DB while the container runs (WAL corruption); stop the container first.

Workflow scope (2026-06-09 cleanup)

n8n serves ONLY: the Notion webhook suite (notion-query-database, notion-create-page, notion-update-page, plus the search/get/create-db/patch/list-children variants) and the Alexa -> Claude Bridge. 30 workflows deactivated 2026-06-09 (all Gmail, all Calendar, all TickTick, verify-* and test cruft); their Google creds had been dead since the 2026-04-30 migration. Gmail = forge_gmail.py, Calendar = forge_google_calendar.GCal, Drive = gdrive subsystem. Do NOT wire new code to n8n for anything Google; reactivate a workflow only via n8n update:workflow --id <id> --active=true inside the container.

Calling convention: forge/scripts/forge_n8n.py is the single canonical caller (ensure_loaded + call with 5xx/network retry); the seven per-script copies became delegates the same day. The notion-query-database webhook returns SIMPLIFIED property shapes (plain strings), not raw Notion API shapes.