Kapitola 7 · 7.3
n8n: automatizace na Vašem vlastním serveru
S n8n propojíte různé služby a automatizujete úkoly, například formulář, který přidá řádek do tabulky a odešle zprávu. Vaše workflow a data zůstávají na Vašem vlastním serveru.
Každý recept navazuje na pracovní složku /srv/diensten s Caddy z článku Váš pracovní adresář s compose.yaml, .env a Caddy. Přidáte službu do compose.yaml, blok do Caddyfile a záznam A a AAAA pro dané jméno (viz Záznam A a AAAA v sekci Moje domény).
1. DNS
Vytvořte záznam A a AAAA pro n8n.example.com.
2. compose.yaml
n8n:
image: n8nio/n8n
restart: unless-stopped
environment:
N8N_HOST: "n8n.example.com"
N8N_PORT: "5678"
N8N_PROTOCOL: "https"
N8N_WEBHOOK_URL: "https://n8n.example.com/"
NODE_ENV: "production"
GENERIC_TIMEZONE: "Europe/Amsterdam"
TZ: "Europe/Amsterdam"
volumes:
- n8n-data:/home/node/.n8n
A pod volumes::
n8n-data:
N8N_WEBHOOK_URL existuje od verze n8n 2.30.0. Pokud používáte starší verzi, jmenuje se WEBHOOK_URL. Podle této adresy vytváří n8n odkazy pro webhooky. Pokud je nastavená špatně, Vaše webhooky nebudou fungovat zvenčí.
3. Caddyfile
n8n.example.com {
reverse_proxy n8n:5678
}
anna@web1:/srv/diensten$ sudo docker compose up -d
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
Otevřete https://n8n.example.com a hned vytvořte účet vlastníka. n8n funguje pouze přes https, o to se postará Caddy.
Záloha
Ve svazku n8n-data jsou uložena Vaše workflow, Vaše přihlašovací údaje k jiným službám a klíč, kterým n8n tyto přihlašovací údaje šifruje. Bez tohoto klíče už zálohu nebudete moci použít. Zálohujte proto celý svazek (viz Správné zálohování databází a svazků Dockeru).
Pozor: Workflow toho zvládne hodně: odesílat e-maily, číst soubory, ovládat jiné služby. Přidělte mu pouze ta oprávnění, která potřebuje, a chraňte svůj účet n8n silným heslem a dvoufázovým ověřením.
