Skip to content

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) nebo n8n user-management:reset CLI (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 :latest2.11.2 na hub i prod. Plovoucí tag mohl při recreate stáhnout novější n8n, jehož migrace LimitWorkflowVersionTriggerToContent…003 mění increment_workflow_version() — tu vlastnil s60admin, 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