Kapitel 7 · 7.3
n8n: automatisera på din egen server
Med n8n kopplar du ihop tjänster och automatiserar uppgifter, till exempel ett formulär som lägger till en rad i ett kalkylark och skickar ett meddelande. Dina arbetsflöden och data stannar på din egen server.
Varje recept bygger vidare på arbetsmappen /srv/diensten med Caddy från Din arbetsmapp med compose.yaml, .env och Caddy. Du lägger till en tjänst i compose.yaml, ett block i Caddyfile och en A- och AAAA-post för namnet (se En A- och AAAA-post i Mina domäner).
1. DNS
Skapa en A- och AAAA-post för 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
Och under volumes::
n8n-data:
N8N_WEBHOOK_URL finns från och med n8n 2.30.0. Använder du en äldre version heter den WEBHOOK_URL. Med den här adressen skapar n8n länkarna för webhooks. Är den fel fungerar dina webhooks inte utifrån.
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
Öppna https://n8n.example.com och skapa direkt ägarens konto. n8n fungerar bara via https, och det ser Caddy till.
Säkerhetskopia
I volymen n8n-data finns dina arbetsflöden, dina inloggningsuppgifter för andra tjänster och den nyckel som n8n använder för att kryptera de inloggningsuppgifterna. Utan den nyckeln kan du inte längre använda en säkerhetskopia. Ta därför med hela volymen i din säkerhetskopia (se Säkerhetskopiera databaser och Docker-volymer på rätt sätt).
Obs: Ett arbetsflöde kan göra mycket: skicka e-post, läsa filer och styra andra tjänster. Ge det bara de behörigheter det behöver, och skydda ditt n8n-konto med ett starkt lösenord och tvåstegsverifiering.
