
I detta inlägg (8 avsnitt)
n8n är ett automationsverktyg med öppen källkod som kopplar ihop appar och tjänster utan att du behöver skriva kod. Molnversionen av n8n begränsar antalet körningar och priset stiger med hur mycket du använder den. Med n8n på en egen server styr du själv: obegränsade arbetsflöden, din data stannar kvar hos dig och kostnaden är densamma oavsett hur mycket du kör.
Den här guiden tar dig igenom installationen på en VPS med Linux. Vi går igenom Docker (rekommenderat för de flesta) och npm som alternativ, och hur du sätter upp en säker HTTPS-anslutning.
Vad du behöver för att köra n8n på din egen server
- En Linux-server, helst Ubuntu 22.04 LTS eller Debian 12
- Root- eller sudo-åtkomst via SSH
- Minst 1 GB RAM, gärna 2 GB om du kör flöden parallellt
- Ett domännamn eller subdomän om du vill nå n8n utifrån (valfritt men rekommenderat)
Installera n8n med Docker
Docker är det enklaste och säkraste sättet att köra n8n på en egen server. Allt körs isolerat, uppgraderingar görs med ett enda kommando och inga beroenden stör övriga tjänster på maskinen.
Steg 1: Installera Docker
Installera Docker med det officiella skriptet: curl -fsSL https://get.docker.com | sh. Aktivera sedan tjänsten permanent med systemctl enable --now docker.
Steg 2: Starta n8n med Docker Compose
- Skapa en katalog för n8n och gå in i den: mkdir ~/n8n följt av cd ~/n8n.
- Skapa filen docker-compose.yml med en service för n8n. Viktiga inställningar: en namngiven volym för datalagring, miljövariabeln N8N_BASIC_AUTH_ACTIVE=true med N8N_BASIC_AUTH_USER och N8N_BASIC_AUTH_PASSWORD, samt WEBHOOK_URL satt till din domän.
- Starta n8n i bakgrunden: docker compose up -d
- Kontrollera att det startade utan fel: docker compose logs -f
Som standard lyssnar n8n på port 5678. Du når gränssnittet på http://din-server-ip:5678 direkt efter start.
Praktiskt tips: Spara inte lösenord direkt i docker-compose.yml. Flytta känsliga variabler till en .env-fil i samma katalog och referera till dem med ${VARIABELNAMN} i compose-filen. Då kan du spara konfigurationsfilen i versionshantering utan att läcka autentiseringsuppgifter.
Alternativ: Installera n8n med npm
Om du föredrar att köra n8n direkt utan Docker fungerar det via npm. Det kräver Node.js 18 eller senare. Installera Node.js via NodeSource med ett installationsskript för din distribution, sedan sudo npm install -g n8n.
För att n8n ska starta automatiskt vid omstart skapar du en systemd-tjänst. Skapa filen /etc/systemd/system/n8n.service med ExecStart som pekar på n8n-binären och Restart=always. Aktivera med systemctl enable --now n8n.
npm-installationen kräver mer manuell skötsel vid uppgraderingar och det är lättare att stöta på versionskonflikter med Node.js. Docker är att föredra för produktionsmiljöer.
Säkra anslutningen med en reverse proxy
Att exponera port 5678 direkt mot internet är ingen bra lösning. Sätt upp Nginx som reverse proxy framför n8n och hämta ett SSL-certifikat med Certbot från Let's Encrypt. Då når du n8n på en säker adress som https://n8n.dittdomän.se.
- Installera Nginx och Certbot: sudo apt install nginx certbot python3-certbot-nginx
- Skapa en Nginx-serverkonfiguration som vidarebefordrar trafik till http://localhost:5678. Lägg till rubriker för WebSocket-stöd: proxy_http_version 1.1, proxy_set_header Upgrade $http_upgrade och proxy_set_header Connection upgrade.
- Hämta certifikatet: sudo certbot --nginx -d n8n.dittdomän.se
- Uppdatera WEBHOOK_URL i din n8n-konfiguration till HTTPS-adressen och starta om n8n.
WebSocket-stödet är avgörande. Utan rätt Nginx-konfiguration laddar n8n:s gränssnitt men uppdateras inte i realtid, vilket gör det svårt att följa när ett flöde körs.
Uppgradera och underhåll
n8n uppdateras ofta. Med Docker är en uppgradering tre kommandon:
- Hämta ny version: docker compose pull
- Starta om med ny bild: docker compose down följt av docker compose up -d
- Kontrollera loggen efteråt för att fånga eventuella migreringsfel
Med npm: sudo npm install -g n8n@latest följt av en omstart av tjänsten. Läs release notes för versioner med stora versionsnummer, framför allt om du har webhooks i produktion.
n8n lagrar alla flöden och credentials i en SQLite-databas som standard. Säkerhetskopiera regelbundet den katalog du monterade som volym. Kör du många flöden parallellt är det värt att konfigurera n8n mot PostgreSQL istället, vilket du anger med miljövariabeln DB_TYPE=postgresdb.
Kom igång med dina första flöden
Logga in på ditt n8n och ta dig en titt i flödesbyggaren. Tre bra startpunkter:
- Webhook-trigger: n8n genererar en unik URL som externa tjänster kan posta till. Enkelt sätt att starta ett flöde från en händelse utanför n8n.
- Schedule Trigger: Schemalägg ett flöde att köras varje natt, varje timme eller en gång i veckan utan att behöva ett cron-job på servern.
- API-integration: Koppla ihop två tjänster med inbyggda noder. n8n har stöd för hundratals appar och kan anropa godtyckliga REST-API:er.
n8n:s community-forum innehåller tusentals färdiga flödesmallar. Börja med en enkel mall för något du faktiskt behöver och bygg ut därifrån, istället för att designa ett stort flöde från grunden.
Att sätta upp n8n på en egen server tar ett par timmar och ger dig full kontroll utan körningsgränser. Se till att autentisering och HTTPS är på plats redan från start, säkerhetskopiera din databas regelbundet och följ n8n:s releaser. Behöver du en server att köra det på? Titta på VPS-alternativen hos Admax.