Innledning
n8n er et av de kraftigste verktøyene for automatisering av arbeidsflyt med åpen kildekode som finnes i dag. I motsetning til SaaS-alternativer som Zapier eller Make gir n8n deg full kontroll over dataene og automatiseringene dine – men bare når du selv står for driften. En Linux-VPS er det ideelle miljøet for dette: alltid tilgjengelig, rimelig og fullstendig under din kontroll.
Denne veiledningen tar deg gjennom hele prosessen med å sette opp en produksjonsklar, selvhostet n8n-instans på en Linux-VPS. Du vil gå fra en tom server til en fullt sikret, SSL-aktivert n8n-distribusjon med Docker, Nginx, PostgreSQL, automatiserte sikkerhetskopier og en forsterket sikkerhetskonfigurasjon.
Hovedpunkter
- n8n på en VPS gir deg ubegrensede arbeidsflyter, ingen bruksbegrensninger og fullt eierskap til dataene
- Docker er den anbefalte installasjonsmetoden for enklere oppdateringer og isolering
- PostgreSQL er den anbefalte databasen for produksjonsarbeidsbelastninger (ikke SQLite)
- En omvendt proxy (Nginx) med Let’s Encrypt SSL er påkrevd for produksjonsbruk
- VPS-en din bør ha minst 1 vCPU og 2 GB RAM for en jevn n8n-opplevelse med PostgreSQL
- Regelmessige automatiserte sikkerhetskopier beskytter arbeidsflytdataene og påloggingsopplysningene dine
Hva er n8n?
n8n (uttales «n-åtte-n») er en plattform for automatisering av arbeidsflyter med åpen kildekode som lar deg koble sammen apper, API-er og tjenester ved hjelp av en visuell, nodebasert editor. Den støtter over 400 integrasjoner som standard og lar deg kjøre tilpasset JavaScript- eller Python-kode inne i arbeidsflytene.
Den viktigste forskjellen mellom n8n og konkurrentene kan oppsummeres i tre punkter: eierskap, kostnad og fleksibilitet.
**Eierskap: **Når du selv drifter n8n, forlater aldri arbeidsflytdataene, påloggingsopplysningene og kjøringsloggene serveren din. For team som håndterer sensitive kundedata, regnskapsopplysninger eller proprietær forretningslogikk, er dette av enorm betydning. Skyplattformer lagrer automatiseringslogikken din på sin egen infrastruktur, underlagt deres retningslinjer for datalagring og sikkerhetsnivå.
**Kostnad: **n8n-skytjenesten tar betalt per utførelse av en arbeidsflyt, noe som raskt blir kostbart ved automatiseringer med høyt volum. Et mellomstort team som kjører tusenvis av utførelser per dag, kan bruke hundrevis av dollar hver måned. På din egen VPS er utførelsene ubegrenset uten ekstra kostnad, s å snart du har betalt for serveren.
**Fleksibilitet: **Med selvhostet n8n kan du installere community-noder, kjøre vilkårlig kode inne i arbeidsflyter, koble til interne tjenester som ikke er tilgjengelige fra det offentlige internett, og konfigurere alle aspekter av distribusjonen etter eget ønske. Skyabonnementene begrenser mange av disse mulighetene.
Forutsetninger
Før du begynner, må du sørge for at du har:
- En Linux-VPS som kjører Ubuntu 22.04 eller 24.04 (anbefalt). Sjekk at leverandøren din tilbyr Ubuntu i den planstørrelsen du velger, da noen startpakker kun tilbyr andre distribusjoner
- En ikke-root-bruker med sudo-rettigheter
- Et domenenavn som peker til IP-adressen til VPS-en din (f.eks. n8n.dittdomene.com)
- SSH-tilgang til serveren din
- Grunnleggende kjennskap til Linux-kommandolinjen
Velge riktig VPS
Serveren du velger, har direkte innvirkning på ytelsen til n8n. Du trenger minst 1 vCPU, 2 GB RAM og 20 GB SSD-lagring. Den ekstra RAM-en sammenlignet med en minimal SQLite-basert installasjon er nødvendig fordi PostgreSQL, Nginx og n8n alle kjører samtidig.
Alt-i-ett-plattformen for effektiv søkemotoroptimalisering
Bak enhver vellykket bedrift ligger en sterk SEO-kampanje. Men med utallige optimaliseringsverktøy og teknikker der ute å velge mellom, kan det være vanskelig å vite hvor du skal begynne. Vel, frykt ikke mer, for jeg har akkurat det som kan hjelpe deg. Vi presenterer Ranktracker alt-i-ett-plattformen for effektiv SEO.
Vi har endelig åpnet registreringen til Ranktracker helt gratis!
Opprett en gratis kontoEller logg inn med påloggingsinformasjonen din
For team med flere brukere, komplekse arbeidsflyter med flere trinn eller høy webhook-gjennomstrømning, bør du oppgradere til 2 vCPU og 4 GB RAM. Lagringsplassen bør være på minst 40 GB hvis du planlegger å beholde lange kjøringslogger.
PetroSky tilbyr NVMe-VPS-abonnementer i Paris og Montreal, der n8n er tilgjengelig som en «ett-klikk-applikasjon» ved kassen: et installasjonsskript med åpen kildekode distribuerer n8n med Docker Compose og konfigurerer HTTPS automatisk via Caddy og Let’s Encrypt. Denne veiledningen omhandler den manuelle fremgangsmåten, som fungerer hos alle leverandører.
Når du velger en VPS-leverandør, bør du også ta hensyn til den geografiske plasseringen. Host n8n-instansen din i regionen som ligger nærmest tjenestene den oftest vil koble seg til – dette reduserer API-forsinkelsen i utførelsen av arbeidsflytene dine.
Trinn 1: Oppdater serveren
Koble deg til VPS-en din via SSH og kjør en fullstendig systemoppdatering før du installerer noe:
sudo apt update && sudo apt upgrade -y
Dette sikrer at du har de nyeste sikkerhetsoppdateringene og at alle systembibliotekene er oppdaterte før du installerer Docker og annen programvare.
Start på nytt hvis det ble installert en kjernenoppdatering:
sudo reboot
Etter at du har koblet til via SSH igjen, opprett en egen systembruker for å kjøre n8n. Å kjøre tjenester som root utgjør en sikkerhetsrisiko:
sudo adduser n8nuser
sudo usermod -aG sudo n8nuser
su - n8nuser
Trinn 2: Installer Docker og Docker Compose
n8ns offisielle anbefalte installasjonsmetode er Docker. Docker isolerer n8n og dets avhengigheter fra resten av systemet ditt, noe som gjør oppdateringer og tilbakeføringer enkle.
Installer Docker ved hjelp av det offisielle skriptet:
curl -fsSL https://get.docker.com | sudo sh
I Dockers dokumentasjon står det at dette skriptet ikke anbefales for produksjonsmiljøer, fordi det installerer den nyeste versjonen uten at du kan velge versjon. Hvis du vil låse Docker-versjoner, bør du i stedet bruke apt-repositoriet som beskrevet i Dockers installasjonsveiledning for Ubuntu (docs.docker.com/engine/install/ubuntu/).
Legg til brukeren din i Docker-gruppen, slik at du kan kjøre Docker-kommandoer uten sudo:
sudo usermod -aG docker $USER
newgrp docker
Kontroller at Docker kjører som det skal:
docker --version
docker compose version
Begge kommandoene skal returnere versjonsstrenger uten feil. Hvis Docker Compose ikke blir funnet, må du installere det manuelt:
sudo apt install docker-compose-plugin -y
Trinn 3: Konfigurer PostgreSQL for produksjon
Som standard bruker n8n SQLite som database. SQLite er greit for personlig bruk og enkle arbeidsflyter, men det håndterer samtidige skrivninger dårlig, noe som viser seg som forsinkelser og «databasen er låst»-feil når mange arbeidsflyter kjører samtidig. For en produksjonsdistribusjon er PostgreSQL det riktige valget.
Alt-i-ett-plattformen for effektiv søkemotoroptimalisering
Bak enhver vellykket bedrift ligger en sterk SEO-kampanje. Men med utallige optimaliseringsverktøy og teknikker der ute å velge mellom, kan det være vanskelig å vite hvor du skal begynne. Vel, frykt ikke mer, for jeg har akkurat det som kan hjelpe deg. Vi presenterer Ranktracker alt-i-ett-plattformen for effektiv SEO.
Vi har endelig åpnet registreringen til Ranktracker helt gratis!
Opprett en gratis kontoEller logg inn med påloggingsinformasjonen din
Kjør PostgreSQL i Docker sammen med n8n:
mkdir ~/n8n && cd ~/n8n
Opprett en miljøfil for å lagre hemmelige opplysninger på en sikker måte. Du må aldri skrive inn passord direkte i compose-filen:
nano ~/n8n/.env
Legg til følgende, og erstatt plassholderverdiene med sterke, unike passord:
POSTGRES_USER=n8n
POSTGRES_PASSWORD=ditt_sterke_db-passord_her
POSTGRES_DB=n8n
N8N_ENCRYPTION_KEY=din_tilfeldige_streng_på_32_tegn_her
Generer en sikker krypteringsnøkkel med:
openssl rand -hex 16
Bruk utdataene som din N8N_ENCRYPTION_KEY. Denne nøkkelen krypterer påloggingsopplysningene som er lagret i n8n — hvis du mister den, blir alle lagrede påloggingsopplysninger uopprettelige.
Trinn 4: Opprett n8n Docker Compose-filen
Opprett filen docker-compose.yml i n8n-katalogen din:
nano ~/n8n/docker-compose.yml
Lim inn følgende konfigurasjon:
services:
postgres:
image: postgres:16-alpine
restart: always
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 10
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=n8n.yourdomain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.yourdomain.com/
- GENERIC_TIMEZONE=Europe/London
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- EXECUTIONS_MODE=regular
- N8N_LOG_LEVEL=info
volumes:
- n8n_data:/home/node/.n8n
depends_on:
postgres:
condition: service_healthy
volumes:
postgres_data:
n8n_data:
Konfigurasjonsmerknader:
- Portbindingen 127.0.0.1:5678:5678 sikrer at n8n kun er tilgjengelig lokalt. Nginx vil håndtere all ekstern trafikk — port 5678 skal aldri eksponeres direkte mot internett.
- depends_on med betingelsen service_healthy sikrer at n8n venter til PostgreSQL er helt klar før den starter. Uten dette vil n8n mislykkes ved første oppstart hvis databasen ennå ikke aksepterer tilkoblinger.
- N8N_LOG_LEVEL=info gir deg nyttige driftslogger uten å oversvømme diskplassen slik som «debug» ville gjort.
Trinn 5: Installer og konfigurer Nginx
Nginx vil fungere som en omvendt proxy og videresende HTTPS-trafikk fra port 443 til n8n-containeren din på port 5678. Den håndterer også SSL-terminering, noe som betyr at n8n selv ikke trenger å administrere sertifikater.
sudo apt install nginx -y
Fjern standardnettstedet og opprett en ny serverblokk for n8n:
sudo rm /etc/nginx/sites-enabled/default
sudo nano /etc/nginx/sites-available/n8n
Lim inn følgende:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name n8n.dittdomene.com;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
chunked_transfer_encoding on;
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 90s;
client_max_body_size 50m;
}
}
Map-blokken øverst håndterer WebSocket-oppgraderingsheadere på riktig måte. n8n bruker WebSockets for sanntidsoppdateringer i redigeringsverktøyet, så denne konfigurasjonen er viktig — uten den vil det visuelle redigeringsverktøyet ikke fungere som det skal.
Direktivet `client_max_body_size 50m` gjør det mulig for arbeidsflyter å motta store webhook-nyttelaster. Standardgrensen i Nginx er 1 MB, noe som er for lite for arbeidsflyter som behandler filopplastinger eller store JSON-svar.
Aktiver konfigurasjonen og test den:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Trinn 6: Utsted et SSL-sertifikat med Let’s Encrypt
Installer Certbot og Nginx-pluginen:
sudo apt install certbot python3-certbot-nginx -y
Be om et sertifikat for domenet ditt:
sudo certbot --nginx -d n8n.dittdomene.com
Følg instruksjonene. Når du blir spurt om du vil omdirigere HTTP-trafikk til HTTPS, velger du Ja (alternativ 2). Certbot oppdaterer automatisk Nginx-konfigurasjonen din for å håndtere denne omdirigeringen og installerer hele sertifikatkjeden.
Kontroller at automatisk fornyelse er konfigurert riktig:
sudo certbot renew --dry-run
Certbot installerer en systemd-timer som fornyer sertifikatene automatisk hver 12. time. Sertifikatene fornyes når det er mindre enn 30 dager igjen til utløpsdatoen. Du bør aldri trenge å fornye manuelt.
Trinn 7: Start n8n
Gå tilbake til n8n-katalogen og start alle tjenestene:
cd ~/n8n
docker compose up -d
Docker henter PostgreSQL- og n8n-bildene, oppretter volumene, starter PostgreSQL først, venter på at tilstandskontrollen skal bestås, og starter deretter n8n. Denne prosessen tar 1–3 minutter ved første kjøring.
Sjekk at begge containerne kjører:
docker compose ps
Du bør se både postgres og n8n oppført med statusen Up. Hvis n8n viser Restarting, sjekk loggene:
docker compose logs n8n --tail=50
Når begge containerne er i orden, åpner du nettleseren og går til https://n8n.yourdomain.com. Du blir bedt om å opprette en eierkonto med en e-postadresse og et passord. Denne kontoen har full administratorrettighet til n8n-instansen din.
Trinn 8: Konfigurer n8n til å starte ved oppstart
Direktivet «restart: always» i filen docker-compose.yml sørger for at alle containere starter på nytt automatisk ved krasj eller omstart av serveren.
Kontroller dette ved å starte serveren på nytt:
sudo reboot
Etter at du har koblet til via SSH igjen, sjekk at n8n kom opp igjen automatisk:
docker compose -f ~/n8n/docker-compose.yml ps
Begge containerne skal vises som aktive uten manuell inngripen.
Trinn 9: Konfigurer automatiske sikkerhetskopier
n8n-dataene dine — arbeidsflyter, påloggingsinformasjon og utførelseshistorikk — ligger på to steder: PostgreSQL-databasen og n8n_data Docker-volumet (som lagrer krypteringsnøkler og deler av konfigurasjonen). Ta regelmessige sikkerhetskopier av begge deler.
Lag et sikkerhetskopieringsskript:
nano ~/n8n/backup.sh
Lim inn følgende:
#!/bin/bash
BACKUP_DIR="/home/n8nuser/backups"
DATE=$(date +%Y-%m-%d_%H-%M)
LOG_FILE="$BACKUP_DIR/backup.log"
# Sørg for at sikkerhetskopikatalogen finnes før du gjør noe annet
mkdir -p "$BACKUP_DIR"
# Ta sikkerhetskopi av PostgreSQL
DUMP_FILE="$BACKUP_DIR/n8n_db_$DATE.sql"
docker compose -f /home/n8nuser/n8n/docker-compose.yml exec -T postgres \
pg_dump -U n8n n8n > "$DUMP_FILE"
# Kontroller at sikkerhetskopieringen lyktes og at filen ikke er tom
if [ $? -ne 0 ] || [ ! -s "$DUMP_FILE" ]; then
echo "FEIL: Sikkerhetskopiering av databasen mislyktes den $DATE" >> "$LOG_FILE"
rm -f "$DUMP_FILE"
exit 1
fi
# Ta sikkerhetskopi av krypteringsnøkkelen og miljøvariablene
cp /home/n8nuser/n8n/.env "$BACKUP_DIR/n8n_env_$DATE.bak"
# Ta sikkerhetskopi av n8n_data-volumet (instanskonfigurasjon og installerte fellesskapsnoder)
docker run --rm -v n8n_n8n_data:/data -v "$BACKUP_DIR":/backup alpine \
tar czf /backup/n8n_data_$DATE.tar.gz -C /data .
# Komprimere databasedumpen
gzip "$DUMP_FILE"
# Behold kun sikkerhetskopier fra de siste 7 dagene
find "$BACKUP_DIR" -name "*.sql.gz" -mtime +7 -delete
find "$BACKUP_DIR" -name "*.bak" -mtime +7 -delete
find "$BACKUP_DIR" -name "n8n_data_*.tar.gz" -mtime +7 -delete
echo "Sikkerhetskopiering fullført: n8n_db_$DATE.sql.gz" >> "$LOG_FILE"
Volumnavnet n8n_n8n_data kommer fra at Docker Compose setter prosjektmappenavnet (n8n) foran volumet. Bekreft ditt med docker volume ls.
Gjør skriptet kjørbart og planlegg det med cron:
chmod +x ~/n8n/backup.sh
crontab -e
Legg til denne linjen for å kjøre sikkerhetskopieringen hver dag kl. 02.00:
0 2 * * * /home/n8nuser/n8n/backup.sh >> /home/n8nuser/backups/backup.log 2>&1
For ekstern redundans bør du vurdere å synkronisere sikkerhetskopikatalogen din til en S3-kompatibel objektlagringsleverandør ved hjelp av rclone eller aws s3 sync.
Trinn 10: Aktiver grunnleggende sikkerhetsforbedringer
Konfigurer en brannmur
Installer UFW og tillat kun de portene serveren din trenger:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
Kontroller at reglene er aktive:
sudo ufw status verbose
Du bør se at port 22 (SSH), 80 (HTTP) og 443 (HTTPS) er tillatt. En advarsel: Docker skriver sine egne brannmurregler og omgår UFW for publiserte containerporter. Port 5678 forblir privat fordi compose-filen binder den til 127.0.0.1, ikke på grunn av UFW, så endre aldri den bindingen til 0.0.0.0.
Deaktiver passordautentisering for SSH
Hvis du bruker SSH-nøkler (noe du bør gjøre), må du deaktivere passordbasert SSH-pålogging fullstendig. Sørg først for at n8nuser-kontoen kan logge inn med nøkkelen din. Kjør følgende fra din lokale maskin:
ssh-copy-id n8nuser@din_server_ip
Rediger deretter SSH-serverkonfigurasjonen:
sudo nano /etc/ssh/sshd_config
Angi følgende verdier:
PasswordAuthentication no
PermitRootLogin no
sudo systemctl restart ssh
På mange Ubuntu-skybilder angir en fil i /etc/ssh/sshd_config.d/ (ofte 50-cloud-init.conf) PasswordAuthentication yes, og denne innstillingen har forrang fordi sshd bruker den første verdien den leser. Sjekk hvilken innstilling som faktisk gjelder:
sudo sshd -T | grep -i passwordauthentication
Det skal vises «passwordauthentication no». Hvis ikke, endrer du verdien i overstyringsfilen og starter SSH på nytt.
Ikke lukk den nåværende SSH-økten før du har bekreftet at nøkkelbasert pålogging fungerer i et nytt terminalvindu.
Begrens antall forespørsler til n8n-innloggingssiden
Legg til hastighetsbegrensning for å bremse brute-force-angrep mot n8n-påloggingsendepunktet.
Alt-i-ett-plattformen for effektiv søkemotoroptimalisering
Bak enhver vellykket bedrift ligger en sterk SEO-kampanje. Men med utallige optimaliseringsverktøy og teknikker der ute å velge mellom, kan det være vanskelig å vite hvor du skal begynne. Vel, frykt ikke mer, for jeg har akkurat det som kan hjelpe deg. Vi presenterer Ranktracker alt-i-ett-plattformen for effektiv SEO.
Vi har endelig åpnet registreringen til Ranktracker helt gratis!
Opprett en gratis kontoEller logg inn med påloggingsinformasjonen din
**Viktig: **Direktivet «limit_req_zone» må plasseres inne i «http {}»-blokken i hovedkonfigurasjonen til Nginx — ikke inne i serverblokken. Åpne hovedkonfigurasjonen:
sudo nano /etc/nginx/nginx.conf
Legg til denne linjen inne i den eksisterende http {}-blokken:
http {
...
limit_req_zone $binary_remote_addr zone=n8n_login:10m rate=5r/m;
...
}
Deretter legger du til denne location-blokken i n8n-nettstedskonfigurasjonen (/etc/nginx/sites-available/n8n) inne i server-blokken som lytter på port 443 (Certbot opprettet den i trinn 6), ved siden av den eksisterende location /. Nginx overfører ikke proxy-headere fra location /, så de gjentas her:
location /rest/login {
limit_req zone=n8n_login burst=5 nodelay;
proxy_pass http://127.0.0.1:5678;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Last inn Nginx på nytt for å ta endringene i bruk:
sudo nginx -t && sudo systemctl reload nginx
Dette begrenser hver IP-adresse til omtrent 5 påloggingsforsøk per minutt, med en liten toleranse for sporadiske topper.
Hold n8n og PostgreSQL oppdatert
Hent og start på nytt med de nyeste bildene regelmessig:
cd ~/n8n
docker compose pull
docker compose up -d
Docker henter de nyeste n8nio/n8n- og postgres-bildene og starter bare på nytt de containerne som har en nyere versjon tilgjengelig.
For produksjonsmiljøer bør du vurdere å feste n8n-bildet til en bestemt versjonstagg (docker.n8n.io/n8nio/n8n:<versjon>, hentet fra n8ns utgivelsesnotater) og oppgradere bevisst, slik at en rutinemessig henting aldri hopper over en hovedversjon før du har lest endringsloggen.
Feilsøking av vanlige problemer
n8n-containeren starter på nytt hele tiden
Sjekk containerloggene umiddelbart etter at omstartsløyfen begynner:
docker compose logs n8n --tail=100
Vanlige årsaker:
- Feil i databaseforbindelsen: Sørg for at PostgreSQL fungerer som den skal ved å kjøre `docker compose ps`. Sjekk at `POSTGRES_PASSWORD` i .env-filen din stemmer overens med det som ble brukt ved initialiseringen av databasen.
- Manglende eller endret krypteringsnøkkel: Hvis N8N_ENCRYPTION_KEY ikke er angitt eller ble endret etter første kjøring, kan ikke n8n dekryptere lagrede påloggingsopplysninger og vil krasje.
- Utilstrekkelig RAM: PostgreSQL og n8n kan til sammen bruke 1–1,5 GB RAM. Sjekk tilgjengelig minne med `free -h`.
Webhooks fungerer ikke
Webhooks krever at n8n er tilgjengelig fra internett på domenet ditt. Kontroller:
- DNS A-posten for domenet ditt peker til IP-adressen til VPS-en din: dig n8n.dittdomene.com
- Nginx kjører: sudo systemctl status nginx
- Port 443 er åpen: sudo ufw status
- Miljøvariabelen WEBHOOK_URL samsvarer nøyaktig med ditt offentlige domene, inkludert den avsluttende skråstreken
n8n-redigeringsprogrammet lastes ikke inn riktig
Hvis den visuelle redigereren lastes inn, men viser et tomt arbeidsflyt-arbeidsområde, eller hvis sanntidsoppdateringene slutter å fungere, er det feil i WebSocket-tilkoblingen. Sjekk at $http_upgrade-blokken finnes i Nginx-konfigurasjonen din, og at du bruker variabelen $connection_upgrade — ikke den bokstavelige strengen «upgrade» — i proxy_set_header Connection-linjen.
SSL-sertifikatfeil
Hvis Certbot mislykkes med en domenevalideringsfeil, må du sjekke at port 80 er tilgjengelig fra internett:
curl -I http://n8n.yourdomain.com
Hvis forespørselen går ut på tid, kan det hende at brannmuren til VPS-leverandøren din blokkerer port 80. Sjekk brannmurreglene i skykonsollen i tillegg til UFW.
Konklusjon
Å selvhoste n8n på en Linux-VPS gir deg en produksjonsklar plattform for automatisering av arbeidsflyter uten begrensninger på utførelse, fullstendig personvern og fleksibilitet til å kjøre alle integrasjoner du trenger. Oppsettet som beskrives i denne veiledningen – Docker, PostgreSQL, Nginx-reversproxy, Let’s Encrypt SSL, automatiserte sikkerhetskopier og sikkerhetsforbedringer – er den samme stakken som brukes i produksjonsmiljøer og gir deg et stabilt og sikkert fundament å bygge videre på.
I motsetning til en minimal installasjon med Docker-kommandoen «run», er dette oppsettet bygget for å tåle omstart av serveren, håndtere samtidige utførelser av arbeidsflyter og gjenopprette driften på en smidig måte etter feil. Påloggingsopplysningene dine er kryptert, dataene dine sikkerhetskopieres hver natt, og påloggingspunktet ditt er hastighetsbegrenset for å hindre brute force-angrep.
Når instansen din er i gang, kan du utforske n8ns innebygde noder for databaser, API-er, webhooks og AI-integrasjoner for å begynne å automatisere arbeidsflytene dine umiddelbart. Det selvhostede fellesskapsforumet på community.n8n.io er også en utmerket ressurs for ideer til arbeidsflyter, feilsøking av noder og tips om distribusjon.

