Sissejuhatus
n8n on üks võimsamaid avatud lähtekoodiga töövoo automatiseerimise tööriistu, mis tänapäeval saadaval on. Erinevalt SaaS-alternatiividest, nagu Zapier või Make, annab n8n teile täieliku kontrolli oma andmete ja automatiseerimiste üle – kuid ainult siis, kui te seda ise hostite. Linuxi VPS on selleks ideaalne keskkond: alati saadaval, taskukohane ja täielikult teie kontrolli all.
Käesolev juhend viib teid läbi kogu protsessi, kuidas seadistada Linuxi VPS-il tootmiseks valmis, ise majutatav n8n-instants. Alustate tühjast serverist ja jõuate täielikult turvatud, SSL-toega n8n-i rakenduseni, mis sisaldab Dockerit, Nginxi, PostgreSQL-i, automatiseeritud varukoopiaid ja tugevdatud turvakonfiguratsiooni.
Peamised järeldused
- n8n VPS-il pakub teile piiramatut arvu töövooge, kasutamispiiranguid ei ole ning teile kuulub täielik omandiõigus andmetele
- Docker on soovitatav paigaldusmeetod, mis lihtsustab uuendusi ja isolatsiooni
- Tootmiskeskkonnas on soovitatav kasutada andmebaasina PostgreSQL-i (mitte SQLite’i)
- Tootmiskeskkonnas on vaja pöördproksit (Nginx) koos Let’s Encrypt SSL-iga
- Sujuvaks n8n-kogemuseks PostgreSQL-iga peaks teie VPS-il olema vähemalt 1 vCPU ja 2 GB RAM-i
- Regulaarsed automatiseeritud varukoopiad kaitsevad teie töövoo andmeid ja autentimisandmeid
Mis on n8n?
n8n (hääldatakse „n-eight-n”) on avatud lähtekoodiga töövoo automatiseerimise platvorm, mis võimaldab ühendada rakendusi, API-sid ja teenuseid visuaalse sõlmpõhise redaktori abil. See toetab kohe kasutusvalmis üle 400 integratsiooni ja võimaldab töövoogudes käivitada kohandatud JavaScripti või Pythoni koodi.
Peamine erinevus n8n ja selle konkurentide vahel seisneb kolmes asjas: omandiõigus, maksumus ja paindlikkus.
**Omandiõigus: **Kui te majutate n8n-i ise, ei lahku teie töövoo andmed, autentimisandmed ega täitmislogid kunagi teie serverist. Meeskondadele, kes tegelevad tundlike kliendiandmete, finantsandmete või ettevõttele omase äriloogikaga, on see äärmiselt oluline. Pilveplatvormid salvestavad teie automatiseerimisloogika oma infrastruktuuris, kus kehtivad nende andmete säilitamise eeskirjad ja turvalisuse tase.
**Kulud: **n8n-i pilvepaketi puhul arvestatakse tasu iga töövoo täitmise eest, mis suuremahuliste automatiseerimiste korral kasvab kiiresti. Keskmise suurusega meeskond, mis teostab päevas tuhandeid täitmisi, võib kulutada kuus sadu dollareid. Oma VPS-il on täitmiste arv pärast serveri eest maksmist piiramatu ja selle eest ei tule maksta lisatasu.
**Paindlikkus: **Isemajutatav n8n võimaldab teil installida kogukonna sõlmi, käivitada töövoogudes suvalist koodi, ühenduda sisemiste teenustega, millele avalikust internetist juurdepääs puudub, ning seadistada rakenduse iga aspekti oma soovi järgi. Pilvepaketid piiravad paljusid neist võimalustest.
Eeltingimused
Enne alustamist veenduge, et teil on:
- Linuxi VPS, millel jookseb Ubuntu 22.04 või 24.04 (soovitatav). Kontrollige, et teie teenusepakkuja pakub valitud paketi suurusega Ubuntu versiooni, kuna mõned algtaseme paketid pakuvad ainult teisi distributsioone
- Mitte-root-kasutaja, kellel on sudo-õigused
- Teie VPS-i IP-aadressile suunatud domeeninimi (nt n8n.yourdomain.com)
- SSH-juurdepääs teie serverile
- Põhiteadmised Linuxi käsureast
Õige VPS-i valimine
Valitud server mõjutab otseselt n8n-i jõudlust. Vajate vähemalt 1 vCPU-d, 2 GB RAM-i ja 20 GB SSD-mälu. Lisamälu on vajalik võrreldes minimaalse SQLite-põhise installatsiooniga, kuna PostgreSQL, Nginx ja n8n töötavad kõik samaaegselt.
Kõik-ühes platvorm tõhusaks SEO-ks
Iga eduka ettevõtte taga on tugev SEO-kampaania. Kuid kuna on olemas lugematu hulk optimeerimisvahendeid ja -tehnikaid, mille hulgast valida, võib olla raske teada, kust alustada. Noh, ärge kartke enam, sest mul on just see, mis aitab. Tutvustan Ranktracker'i kõik-ühes platvormi tõhusaks SEO-ks.
Oleme lõpuks avanud registreerimise Ranktracker täiesti tasuta!
Loo tasuta kontoVõi logi sisse oma volituste abil
Meeskondadele, kus on palju kasutajaid, keerulised mitmeastmelised töövood või suur webhookide läbilaskevõime, soovitame täiendada 2 vCPU-ni ja 4 GB RAM-ini. Kui kavatsete säilitada pikki täitmisloge, peaks salvestusruumi olema vähemalt 40 GB.
PetroSky pakub NVMe VPS-pakette Pariisis ja Montrealis, kus n8n on kassas saadaval ühe klõpsuga rakendusena: avatud lähtekoodiga installiskript paigaldab n8n Docker Compose’i abil ja seadistab HTTPS-i automaatselt Caddy ja Let’s Encrypti kaudu. Käesolev juhend käsitleb käsitsi paigaldamist, mis toimib mis tahes teenusepakkuja puhul.
VPS-teenusepakkuja valimisel võtke arvesse ka geograafilist asukohta. Hostige oma n8n-instantsi piirkonnas, mis asub kõige lähemal teenustele, millega see kõige sagedamini ühendust loob – see vähendab API viivitust teie töövoogude täitmisel.
1. samm: uuendage oma server
Logige SSH-ga oma VPS-i sisse ja viige enne mis tahes installimist läbi täielik süsteemi värskendus:
sudo apt update && sudo apt upgrade -y
See tagab, et teil on paigaldatud uusimad turvaparandused ja et kõik süsteemiraamatukogud on ajakohased enne Docker’i ja muu tarkvara lisamist.
Käivitage arvuti uuesti, kui tuum on uuendatud:
sudo reboot
Pärast uuesti SSH-ühenduse loomist looge n8n-i käitamiseks spetsiaalne süsteemikasutaja. Teenuste käitamine root-õigustega on turvarisk:
sudo adduser n8nuser
sudo usermod -aG sudo n8nuser
su - n8nuser
2. samm: Docker ja Docker Compose paigaldamine
n8n-i ametlikult soovitatav paigaldusmeetod on Docker. Docker eraldab n8n-i ja selle sõltuvused ülejäänud süsteemist, muutes uuendused ja tagasipööramised lihtsaks.
Paigalda Docker ametliku abiskripti abil:
curl -fsSL https://get.docker.com | sudo sh
Dockeri dokumentatsioonis märgitakse, et mugavuskäsikirja ei soovitata kasutada tootmiskeskkondades, kuna see installib viimase versiooni, ilma et saaksite versiooni valida. Kui soovite Docker-versioone fikseerida, kasutage selle asemel Docker’i Ubuntu installimisjuhendis (docs.docker.com/engine/install/ubuntu/) kirjeldatud apt-repositooriumi meetodit.
Lisage oma kasutaja Docker-gruppi, et saaksite Docker-käsklusi käivitada ilma sudo-ta:
sudo usermod -aG docker $USER
newgrp docker
Kontrollige, kas Docker töötab korrektselt:
docker --version
docker compose version
Mõlemad käsud peaksid väljastama versiooninimed ilma vigadeta. Kui Docker Compose'i ei leita, paigaldage see käsitsi:
sudo apt install docker-compose-plugin -y
3. samm: PostgreSQLi seadistamine tootmiskeskkonnaks
Vaikimisi kasutab n8n andmebaasina SQLite'i. SQLite sobib hästi isiklikuks kasutamiseks ja kergeteks töövoogudeks, kuid see ei suuda hästi toime tulla samaaegsete kirjutamistega, mis avaldub aeglustustena ja „andmebaas on lukustatud” veateadetena, kui palju töövooge töötab samaaegselt. Tootmiskeskkonnas on õige valik PostgreSQL.
Kõik-ühes platvorm tõhusaks SEO-ks
Iga eduka ettevõtte taga on tugev SEO-kampaania. Kuid kuna on olemas lugematu hulk optimeerimisvahendeid ja -tehnikaid, mille hulgast valida, võib olla raske teada, kust alustada. Noh, ärge kartke enam, sest mul on just see, mis aitab. Tutvustan Ranktracker'i kõik-ühes platvormi tõhusaks SEO-ks.
Oleme lõpuks avanud registreerimise Ranktracker täiesti tasuta!
Loo tasuta kontoVõi logi sisse oma volituste abil
Käivita PostgreSQL Dockeris koos n8n-iga:
mkdir ~/n8n && cd ~/n8n
Loo keskkonnafail, et salajasi andmeid turvaliselt säilitada. Ära kunagi kirjuta paroole otse compose-faili:
nano ~/n8n/.env
Lisa järgmine tekst, asendades asendusväärtused tugevate ja unikaalsete paroolidega:
POSTGRES_USER=n8n
POSTGRES_PASSWORD=sinu_tugev_andmebaasi_parool_siia
POSTGRES_DB=n8n
N8N_ENCRYPTION_KEY=sinu_juhuslik_32-märgiline_string_siia
Loo turvaline krüpteerimisvõti järgmise käskuga:
openssl rand -hex 16
Kasutage väljundit oma N8N_ENCRYPTION_KEY-na. See võti krüpteerib n8n-is salvestatud kasutajatunnuseid – kui te selle kaotate, muutuvad kõik salvestatud kasutajatunnused taastamatuks.
4. samm: Loo n8n Docker Compose'i fail
Loo oma n8n-kataloogis fail docker-compose.yml:
nano ~/n8n/docker-compose.yml
Kopeerige sinna järgmine konfiguratsioon:
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
korduskatseid: 10
n8n:
pilt: docker.n8n.io/n8nio/n8n
taaskäivitus: alati
pordid:
- "127.0.0.1:5678:5678"
keskkond:
- 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:
Konfiguratsiooni märkused:
- Pordi sidumine 127.0.0.1:5678:5678 tagab, et n8n on kättesaadav ainult kohalikult. Nginx haldab kogu välist liiklust — ära ava porti 5678 kunagi otse internetile.
- depends_on koos tingimusega service_healthy tagab, et n8n ootab enne käivitumist, kuni PostgreSQL on täielikult valmis. Ilma selleta ebaõnnestub n8n esimesel käivitamisel, kui andmebaas veel ühendusi vastu ei võta.
- N8N_LOG_LEVEL=info annab sulle kasulikke operatsioonilogisid, ilma et see ülekoormaks kettaruumi nii, nagu seda teeks debug.
5. samm: Nginx'i installimine ja konfigureerimine
Nginx toimib pöördproksina, suunates HTTPS-liikluse pordist 443 teie n8n-konteinerisse pordis 5678. Samuti haldab see SSL-i lõpetamist, mis tähendab, et n8n ise ei pea sertifikaate haldama.
sudo apt install nginx -y
Eemalda vaikimisi veebisait ja loo uus serveriblokk n8n-ile:
sudo rm /etc/nginx/sites-enabled/default
sudo nano /etc/nginx/sites-available/n8n
Kopeerige järgmine tekst:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name n8n.yourdomain.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;
}
}
Ülaosas asuv map-plokk töötleb WebSocketi uuendamise päiseid korrektselt. n8n kasutab WebSocketeid reaalajas uuenduste edastamiseks toimetajas, seega on see konfiguratsioon oluline – ilma selleta ei tööta visuaalne toimetaja korrektselt.
Direktiiv `client_max_body_size 50m` võimaldab töövoogudel vastu võtta suuri webhooki andmepakette. Nginxi vaikimisi piirang on 1 MB, mis on liiga väike töövoogudele, mis töötlevad failide üleslaadimisi või suuri JSON-vastuseid.
Lülita konfiguratsioon sisse ja testi seda:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
6. samm: SSL-sertifikaadi väljastamine Let’s Encryptiga
Paigalda Certbot ja Nginx-i pistikprogramm:
sudo apt install certbot python3-certbot-nginx -y
Taotlege sertifikaati oma domeenile:
sudo certbot --nginx -d n8n.yourdomain.com
Järgige ekraanil kuvatavaid juhiseid. Kui küsitakse, kas suunata HTTP-liiklus ümber HTTPS-ile, valige „Yes“ (valik 2). Certbot uuendab automaatselt teie Nginx-i konfiguratsiooni, et see ümbersuunamine toimiks, ning installib täieliku sertifikaatiahela.
Kontrollige, kas automaatne uuendamine on õigesti seadistatud:
sudo certbot renew --dry-run
Certbot installib systemd-ajastuse, mis uuendab sertifikaate automaatselt iga 12 tunni järel. Sertifikaadid uuendatakse 30 päeva enne nende aegumist. Teil ei peaks kunagi olema vaja neid käsitsi uuendada.
7. samm: Käivita n8n
Naaske oma n8n-kataloogi ja käivitage kõik teenused:
cd ~/n8n
docker compose up -d
Docker laadib alla PostgreSQL-i ja n8n-i pildid, loob mahud, käivitab esmalt PostgreSQL-i, ootab, kuni tervisekontroll on edukalt läbitud, ja käivitab seejärel n8n-i. See protsess võtab esmakordsel käivitamisel aega 1–3 minutit.
Kontrollige, et mõlemad konteinerid töötaksid:
docker compose ps
Nimekirjas peaksid olema nii postgres kui ka n8n staatusega „Up”. Kui n8n staatus on „Restarting”, kontrolli logifaile:
docker compose logs n8n --tail=50
Kui mõlemad konteinerid on töökorras, avage brauser ja minge aadressile https://n8n.yourdomain.com. Teil palutakse luua omanikukonto, sisestades e-posti aadressi ja parooli. Sellel kontol on täielik administraatori juurdepääs teie n8n-instantsile.
8. samm: n8n-i seadistamine käivituma süsteemi käivitamisel
Docker-compose.yml-failis olev direktiiv „restart: always“ tagab, et kõik konteinerid taaskäivituvad automaatselt krahhi või serveri taaskäivitamise korral.
Kontrollige seda, taaskäivitades oma serveri:
sudo reboot
Pärast uuesti SSH-ühenduse loomist kontrollige, kas n8n käivitus automaatselt uuesti:
docker compose -f ~/n8n/docker-compose.yml ps
Mõlemad konteinerid peaksid ilma käsitsi sekkumiseta olema käivitunud.
9. samm: automaatsete varukoopiate seadistamine
Teie n8n andmed — töövood, autentimisandmed ja täitmise ajalugu — asuvad kahes kohas: PostgreSQL-andmebaasis ja n8n_data Docker-mahus (kus hoitakse krüpteerimisvõtmeid ja mõningaid seadistusi). Tehke mõlemast regulaarselt varukoopiaid.
Looge varunduskäsikiri:
nano ~/n8n/backup.sh
Kopeerige sinna järgmine tekst:
#!/bin/bash
BACKUP_DIR="/home/n8nuser/backups"
DATE=$(date +%Y-%m-%d_%H-%M)
LOG_FILE="$BACKUP_DIR/backup.log"
# Veenduge enne muud tegevust, et varunduskataloog on olemas
mkdir -p "$BACKUP_DIR"
# PostgreSQL-i varundamine
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"
# Kontrolli, kas varundamine õnnestus ja fail ei ole tühi
if [ $? -ne 0 ] || [ ! -s "$DUMP_FILE" ]; then
echo "VIGA: Andmebaasi varundamine ebaõnnestus kuupäeval $DATE" >> "$LOG_FILE"
rm -f "$DUMP_FILE"
exit 1
fi
# Tee varukoopia krüpteerimisvõtmest ja keskkonnamuutujatest
cp /home/n8nuser/n8n/.env "$BACKUP_DIR/n8n_env_$DATE.bak"
# Tee varukoopia n8n_data-mahust (instantsi konfiguratsioon ja installitud kogukonna sõlmed)
docker run --rm -v n8n_n8n_data:/data -v "$BACKUP_DIR":/backup alpine \
tar czf /backup/n8n_data_$DATE.tar.gz -C /data .
# Andmebaasi väljavõtte pakkimine
gzip "$DUMP_FILE"
# Säilita ainult viimase 7 päeva varukoopiaid
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 "Varuandmete loomine lõpetatud: n8n_db_$DATE.sql.gz" >> "$LOG_FILE"
Mahu nimi n8n_n8n_data pärineb Docker Compose'ist, mis lisab mahule projekti kausta nime (n8n). Kontrollige oma mahu nime käsuga docker volume ls.
Tee skript käivitatavaks ja planeeri selle käivitamine croni abil:
chmod +x ~/n8n/backup.sh
crontab -e
Lisage järgmine rida, et varundamine toimuks iga päev kell 2 öösel:
0 2 * * * /home/n8nuser/n8n/backup.sh >> /home/n8nuser/backups/backup.log 2>&1
Välise redundantsuse tagamiseks kaaluge varunduskataloogi sünkroniseerimist S3-ühilduva objektide salvestuspakkujaga, kasutades rclone'i või aws s3 sync'i.
10. samm: Põhiliste turvameetmete aktiveerimine
Tulemüüri seadistamine
Paigaldage UFW ja lubage ainult need pordid, mida teie server vajab:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
Kontrollige, kas reeglid on aktiivsed:
sudo ufw status verbose
Peaksite nägema, et pordid 22 (SSH), 80 (HTTP) ja 443 (HTTPS) on lubatud. Üks hoiatus: Docker kirjutab oma tulemüüri reeglid ja möödub UFW-st avaldatud konteineriportide puhul. Port 5678 jääb privaatseks, kuna compose-fail seob selle aadressiga 127.0.0.1, mitte UFW tõttu, seega ärge kunagi muutke seda seost aadressiks 0.0.0.0.
Lülita SSH-i parooliautentimine välja
Kui kasutate SSH-võtmeid (mida te peaksite tegema), lülitage paroolipõhine SSH-sisselogimine täielikult välja. Esmalt veenduge, et n8nuser-konto saab teie võtmega sisse logida. Käivitage oma kohalikult arvutilt järgmine käsk:
ssh-copy-id n8nuser@teie_serveri_IP
Seejärel muuda SSH-serveri konfiguratsiooni:
sudo nano /etc/ssh/sshd_config
Määrake järgmised väärtused:
PasswordAuthentication no
PermitRootLogin no
sudo systemctl restart ssh
Paljudes Ubuntu pilvepiltides määrab fail kataloogis /etc/ssh/sshd_config.d/ (sageli 50-cloud-init.conf) väärtuseks PasswordAuthentication yes, ja see võidab, sest sshd kasutab esimest väärtust, mida ta loeb. Kontrollige, milline seade tegelikult kehtib:
sudo sshd -T | grep -i passwordauthentication
Käsu väljund peaks olema passwordauthentication no. Kui see nii ei ole, muuda väärtust ümberkirjutamisfailis ja taaskäivita SSH uuesti.
Ära sulge oma praegust SSH-seanssi enne, kui oled veendunud, et võtmepõhine sisselogimine töötab uues terminaliaknas.
n8n sisselogimislehe kiiruspiirang
Lisage kiiruspiirang, et aeglustada n8n sisselogimise lõpppunkti vastu suunatud jõuvõttega rünnakuid.
Kõik-ühes platvorm tõhusaks SEO-ks
Iga eduka ettevõtte taga on tugev SEO-kampaania. Kuid kuna on olemas lugematu hulk optimeerimisvahendeid ja -tehnikaid, mille hulgast valida, võib olla raske teada, kust alustada. Noh, ärge kartke enam, sest mul on just see, mis aitab. Tutvustan Ranktracker'i kõik-ühes platvormi tõhusaks SEO-ks.
Oleme lõpuks avanud registreerimise Ranktracker täiesti tasuta!
Loo tasuta kontoVõi logi sisse oma volituste abil
**Oluline: **Direktiiv „limit_req_zone“ peab asuma teie peamise Nginx-konfiguratsiooni http {} plokis — mitte server-plokis. Avage peamine konfiguratsioon:
sudo nano /etc/nginx/nginx.conf
Lisage see rida olemasolevasse http {} plokki:
http {
...
limit_req_zone $binary_remote_addr zone=n8n_login:10m rate=5r/m;
...
}
Seejärel lisage oma n8n-i saidi konfiguratsioonis (/etc/nginx/sites-available/n8n) see location-plokk server-ploki sisse, mis kuulab porti 443 (Certbot lõi selle 6. sammus), olemasoleva asukoha / kõrvale. Nginx ei kanna proxy-pealkirju üle asukohast /, seega korratakse neid siin:
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;
}
Laadige Nginx uuesti, et muudatused jõustuksid:
sudo nginx -t && sudo systemctl reload nginx
See piirab iga IP-aadressi ligikaudu 5 sisselogimiskatsega minutis, lubades väikest hetkelist ületamist.
Hoidke n8n ja PostgreSQL ajakohasena
Laadige regulaarselt alla uusimad pildid ja taaskäivitage:
cd ~/n8n
docker compose pull
docker compose up -d
Docker laadib alla uusimad n8nio/n8n ja postgres pildid ning taaskäivitab ainult need konteinerid, millele on saadaval uuem versioon.
Tootmiskeskkonnas kaaluge n8n-pildi kinnitamist kindla versioonimärgise juurde (docker.n8n.io/n8nio/n8n:<versioon>, mis on võetud n8n-i väljalasketeatest) ja uuendage seda teadlikult, nii et rutiinne allalaadimine ei hüppaks kunagi üle peaversiooni, enne kui olete muutuste loendit läbi lugenud.
Tavaliste probleemide lahendamine
n8n-konteiner taaskäivitub pidevalt
Kontrollige konteineri logifaile kohe pärast taaskäivitumistsükli algust:
docker compose logs n8n --tail=100
Tavalised põhjused:
- Andmebaasi ühenduse viga: veenduge, et PostgreSQL töötab korralikult, kasutades käsku `docker compose ps`. Kontrollige, et teie .env-failis olev POSTGRES_PASSWORD vastab sellele, millega andmebaas algselt initsialiseeriti.
- Krüpteerimisvõti puudub või on muutunud: kui N8N_ENCRYPTION_KEY ei ole määratud või seda on pärast esimest käivitamist muudetud, ei suuda n8n salvestatud autentimisandmeid dekrüpteerida ja kukub kokku.
- Liiga vähe RAM-mälu: PostgreSQL ja n8n võivad kokku kasutada 1–1,5 GB RAM-mälu. Kontrollige vaba mälu mahtu käsuga `free -h`.
Webhookid ei tööta
Webhookide toimimiseks peab n8n olema teie domeenil internetist kättesaadav. Kontrollige:
- Teie domeeni DNS A-kirje viitab teie VPS-i IP-aadressile: dig n8n.yourdomain.com
- Nginx töötab: sudo systemctl status nginx
- Port 443 on avatud: sudo ufw status
- Keskkonnamuutuja WEBHOOK_URL vastab täpselt teie avalikule domeenile, sealhulgas lõpus olevale kaldkriipsule
n8n-redaktor ei lae korralikult
Kui visuaalne redaktor laadib küll, kuid kuvab tühja töövoo tööala või reaalajas uuendused lakkavad töötamast, on WebSocket-ühendus katkenud. Kontrollige, kas teie Nginx-konfiguratsioonis on olemas $http_upgrade-plokk ja kas kasutate proxy_set_header Connection-real muutujat $connection_upgrade — mitte otsest stringi „upgrade”.
SSL-sertifikaadi vead
Kui Certbot annab domeeni valideerimisvea, kontrollige, kas port 80 on internetist kättesaadav:
curl -I http://n8n.yourdomain.com
Kui päring aegub, võib teie VPS-teenusepakkuja tulemüür blokeerida porti 80. Kontrollige lisaks UFW-le ka pilvekonsooli tulemüüri reegleid.
Kokkuvõte
n8n-i isehostimine Linuxi VPS-il pakub teile tootmisvalmis töövoo automatiseerimise platvormi, millel puuduvad täitmispiirangud, mis tagab täieliku andmekaitse ja paindlikkuse käivitada mis tahes vajalik integratsioon. Käesolevas juhendis käsitletud seadistus – Docker, PostgreSQL, Nginx pöördproksi, Let’s Encrypt SSL, automatiseeritud varukoopiad ja turvalisuse tugevdamine – on sama tehnoloogiline lahendus, mida kasutatakse tootmiskeskkondades, ning pakub teile stabiilset ja turvalist alust, millele ehitada.
Erinevalt minimaalsest Docker run-käsu paigaldusest on see seadistus loodud taluma serveri taaskäivitusi, käsitlema samaaegseid töövoogude käivitamisi ja taastuma tõrgeteta riketest. Teie autentimisandmed on krüpteeritud, teie andmetest tehakse igal ööl varukoopiaid ja teie sisselogimise lõpppunkti juurdepääsu on piiratud, et vältida jõuvõtteid.
Kui teie instants töötab, uurige n8n-i sisseehitatud sõlmi andmebaaside, API-de, webhookide ja tehisintellekti integratsioonide jaoks, et alustada oma töövoogude automatiseerimist kohe. Isehostitud kogukonna foorum aadressil community.n8n.io on samuti suurepärane allikas töövoogude ideede, sõlmede veaotsingu ja kasutuselevõtu näpunäidete jaoks.

