n8n
Workflow automatizace — marketingové automatizace, edge case orchestrace.
| Owner služby (deploy/container/restart) | sentinel |
| Owner workflowů | n8n agent (autor scénářů, běží na cerebro, jen přes REST API — žádný SSH/Docker) |
| Status | running |
| Stack | n8n (queue mode) + Redis + PostgreSQL |
| Deploy config | /root/projects/n8n/deploy.yml (sentinel deploy pipeline, image n8nio/n8n:2.11.2 — pinnuto 2026-08-25, viz níž) |
| Container | s60-n8n, port 5678 (127.0.0.1) — běží na hub 100.102.29.119 (nový CX33 od 2026-08-25; dřív 100.102.29.119) a prod 100.78.87.88 (NE cerebro) |
| Restart prod | ssh root@100.78.87.88 "docker restart s60-n8n" (resp. přes deploy pipeline) |
| Catalog | catalog/services/n8n.yaml |
⚠️ Pozor na záměnu: „cerebro" v historickém KB = server n8n agenta (autor workflowů přes REST API), NE lokace běžícího kontejneru. Service/container = sentinel doména na hub+prod.
URLs
| Env | URL | HC |
|---|---|---|
| dev | https://n8n.s60dev.cz | /healthz (cert issue, 2026-04-27) |
| hub | https://n8n.s60hub.cz | /healthz ✅ |
| prod | https://n8n.studio60.cz | /healthz ✅ |
DB (port 5432 přímo, ne pgBouncer)
| Env | DB | User | Server |
|---|---|---|---|
| Hub | s60_n8n_hub |
s60_n8n_hub_user |
hub-alfa (pg-alfa) |
| Prod | s60_n8n_prod |
s60_n8n_prod_user |
prod-alfa (pg-alfa) |
⚠️ Port 5432 (ne 6432) kvůli statement_timeout startup parameteru, který pgBouncer nepodporuje.
Container detaily
- Container name:
s60-n8n - Internal port: 5678
- External: za Nginx
- Network:
s60-network
Závislosti
- redis (queue mode — BullMQ-like)
- postgres-managed (pg-alfa, port 5432)
Use cases (typické workflows)
- Opuštěný košík
- Drip kampaně
- Sync do CRM (Ecomail)
- Vimeo → WP publikování
- Edge cases (co nepatří do core business logiky)
Klíčová pravidla
- N8N_ENCRYPTION_KEY je kritický — bez něj nelze dešifrovat workflow credentials. Záloha v
/root/secrets/n8n/.env.*.do-backup - Core business logika (enrollment, platby) patří do S60BadWolf, NE do n8n
- Tři instance — dev/hub/prod, každá vlastní DB v pg-alfa
User management
- Aktuální users: 1 (Libor, role
global:owner) - Auth: local password, MFA disabled
- Reset hesla: přímý DB UPDATE bcrypt hashe — viz
ops.md(až bude potřeba) nebon8n user-management:resetCLI (smaže všechny usery, použít s opatrností)
Secrets
/root/secrets/n8n/.env.hub/root/secrets/n8n/.env.prod.env.*.do-backup— zálohy z přechodu DO → Hetzner (obsahují historickýN8N_ENCRYPTION_KEY)
API access
- n8n REST API (
/api/v1/*) vyžaduje Personal Access Token (PAT) - PAT se generuje v UI → Settings → API
- Sentinel PAT zatím nemá — pokud potřebný, nech Libora vygenerovat → uložit do
/root/secrets/n8n/api-key-prod
Změny
- 2026-08-25: pin
:latest→2.11.2na hub i prod. Plovoucí tag mohl při recreate stáhnout novější n8n, jehož migraceLimitWorkflowVersionTriggerToContent…003měníincrement_workflow_version()— tu vlastnils60admin, ne aplikační uživatel ⇒must be owner of function⇒ n8n by nenaběhlo. Vlastnictví opraveno v obou DB. Bump verze dělat jen vědomě a s kontrolou migrací. - 2026-08-25: hub přestěhován na CX33 (
100.102.29.119/23.88.96.73) - 2026-08-12: binding změněn na
127.0.0.1:5678— publikovaný port obcházel UFW (DNAT→FORWARD). Webhooky jdou přes nginx, nejsou dotčené. - 2026-04-27: reset hesla owner usera (libor.webster@gmail.com) přes přímý DB UPDATE bcrypt
- 2026-04-10: migrace DB na pg-alfa (port 5432)
- 2026-03-09: catalog entry vytvořen