# Što ćete naučiti#
Ako želite self host n8n kako biste imali potpunu kontrolu nad podacima, troškovima i usklađenošću, treba vam više od brzog docker run. Trebaju vam trajna pohrana, tajne, SSL, backupi i sigurnosna osnova koja može izdržati stvarnu produkcijsku upotrebu.
Ovaj vodič daje deployment koji možete držati u pogonu godinama: Docker Compose, Postgres, reverse proxy TLS, izolacija mreže, backup i restore te rutine održavanja.
Dobit ćete i sigurnosnu kontrolnu listu prilagođenu tipičnim rizicima za n8n poput izloženih webhooks-a, slabih vjerodajnica i previše permisivnog Docker umrežavanja.
ℹ️ Napomena: Ako još birate između self-hostinga i SaaS alata za automatizaciju, usporedite kompromise u članku n8n vs Zapier vs Make u 2026.. Self-hosting obično pobjeđuje kada trebate rezidentnost podataka, custom nodeove ili predvidive troškove u većem opsegu.
# Preduvjeti#
| Zahtjev | Preporučeno | Napomene |
|---|---|---|
| Linux VPS | Ubuntu 22.04 ili 24.04 | Svaka moderna distribucija radi, Ubuntu je najlakše pratiti |
| CPU i RAM | 2 vCPU, 4 GB RAM | 1 vCPU i 2 GB može proći za laganu upotrebu |
| Pohrana | 40 GB SSD | Više ako spremate binarne datoteke i velika izvršavanja |
| Docker Engine | 24+ | Koristite pakete iz službenog Docker repozitorija |
| Docker Compose | v2 | Dolazi kao docker compose plugin na većini instalacija |
| Domena | n8n.yourdomain.com | Potrebno za HTTPS i webhooks |
| SMTP račun | Opcionalno | Za email obavijesti i reset lozinke |
| SSH pristup | Auth preko ključeva | Isključite login lozinkom ako je moguće |
Preporučena mreža i portovi#
| Port | Javno izložen | Svrha |
|---|---|---|
| 22 | Da, ograničeno | SSH administracija |
| 80 | Da | HTTP → HTTPS redirect i ACME izazovi |
| 443 | Da | HTTPS za n8n UI i webhooks |
| 5678 | Ne | n8n interni port, držati privatno iza reverse proxyja |
| 5432 | Ne | Postgres interni port, nikad javno |
# Pregled arhitekture: što deployate#
Produkcijski n8n setup obično uključuje ove komponente:
| Komponenta | Zašto je važna | Najbolja praksa |
|---|---|---|
| n8n container | Pokreće editor, webhooks i izvršavanja | Pokretati iza reverse proxyja, ne izlagati direktno |
| Postgres | Pouzdana trajna pohrana za workflowe i metapodatke vjerodajnica | Odvojeni container, privatna mreža, redoviti dumpovi |
| Reverse proxy | TLS terminacija, routing, opcije rate limiting-a | Traefik ili Nginx, izložiti samo 80 i 443 |
| Volumes | Trajna pohrana n8n konfiguracije, binarnih podataka, logova i DB podataka | Named volumes ili bind mountovi uz backup |
| Secrets | Zaštita DB lozinki, encryption key-a, webhook URL-ova | .env plus Docker secrets ili file-based secrets |
🎯 Ključna poruka: Tretirajte n8n kao i bilo koju drugu web aplikaciju: privatni app container, privatna baza i jedna očvrsnuta javna ulazna točka s HTTPS-om.
# Korak 1: Očvrsnite server prije nego što išta instalirate#
Self-hosting najčešće propadne jer se zanemare osnove servera. Većina kompromitacija i dalje dolazi iz izloženih servisa, ponovnog korištenja lozinki i nepatchanih paketa.
Napravite non-root korisnika i zaključajte SSH#
- 1Kreirajte novog korisnika i dodajte ga u sudo.
- 2Koristite SSH ključeve, isključite auth lozinkom.
- 3Opcionalno promijenite SSH port, ali se ne oslanjajte samo na to.
# create user
adduser deploy
usermod -aG sudo deploy
# harden ssh
sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshFirewall osnova s UFW-om#
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status💡 Savjet: Ograničite SSH na IP vaše firme ili VPN raspon. Jednostavan allowlist uklanja većinu SSH brute-force buke i značajno smanjuje volumen logova.
Za širi popis provjera koji možete ponovno koristiti kroz projekte, pogledajte Sigurnosna kontrolna lista za web aplikacije.
# Korak 2: Instalirajte Docker i Docker Compose#
Koristite službeni Docker repozitorij kako biste izbjegli zastarjele pakete.
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginDodajte deploy korisnika u docker grupu:
sudo usermod -aG docker deploy
newgrp docker
docker version
docker compose version# Korak 3: Napravite čistu strukturu projekta#
Predvidiva struktura čini backup-e i nadogradnje sigurnijima.
mkdir -p ~/apps/n8n/{data,db,backups,traefik}
cd ~/apps/n8nPredložena namjena direktorija:
| Putanja | Svrha | Backup |
|---|---|---|
~/apps/n8n/data | n8n trajni podaci i pohrana binarnih datoteka | Da |
~/apps/n8n/db | Postgres data direktorij ako je bind-mounted | Da, ili koristite named volume |
~/apps/n8n/backups | Lokalno staging mjesto za backup | Opcionalno, ali korisno |
~/apps/n8n/traefik | Reverse proxy konfiguracija i ACME pohrana | Da |
# Korak 4: Tajne i postavljanje okruženja#
n8n koristi encryption key za zaštitu vjerodajnica “at rest”. Ako ga izgubite, nećete moći dekriptirati vjerodajnice čak i ako vratite bazu.
Generirajte tajne:
openssl rand -hex 32
openssl rand -base64 48Kreirajte .env datoteku. Nemojte je commitati u git.
cd ~/apps/n8n
nano .envPrimjer .env:
# domain
N8N_HOST=n8n.yourdomain.com
N8N_PROTOCOL=https
N8N_PORT=5678
WEBHOOK_URL=https://n8n.yourdomain.com/
# timezone
GENERIC_TIMEZONE=Europe/Zagreb
TZ=Europe/Zagreb
# encryption and auth
N8N_ENCRYPTION_KEY=replace-with-64-hex-or-similar
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=replace-me
N8N_BASIC_AUTH_PASSWORD=replace-me-long-password
# database
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=postgres
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=replace-me-long-password
# execution and data retention examples
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=168Preporučene environment varijable koje vrijedi razmotriti:
| Varijabla | Preporučeno | Zašto |
|---|---|---|
N8N_ENCRYPTION_KEY | Postaviti i sigurno pohraniti | Sprječava gubitak vjerodajnica pri restoreu |
N8N_BASIC_AUTH_ACTIVE | Uključiti barem u početku | Dodaje dodatnu barijeru ako SSO nije postavljen |
WEBHOOK_URL | Eksplicitni HTTPS URL | Sprječava pogrešne webhook URL-ove iza proxyja |
EXECUTIONS_DATA_PRUNE | true | Smanjuje rast diska i veličinu backupa |
EXECUTIONS_DATA_MAX_AGE | 72 do 336 sati | Zadržava korisnu povijest bez beskonačne retencije |
⚠️ Upozorenje: Promjena
N8N_ENCRYPTION_KEYnakon što ste već kreirali vjerodajnice praktično će vas zaključati iz tih vjerodajnica. Tretirajte ga kao master key baze.
# Korak 5: Docker Compose s Postgresom, n8n-om i Traefik SSL-om#
Ovaj primjer koristi Traefik za automatske TLS certifikate preko Let’s Encrypta. Odličan je izbor za single-host VPS deployment.
Kreirajte docker-compose.yml:
services:
traefik:
image: traefik:v3.1
command:
- --api.dashboard=false
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --certificatesresolvers.le.acme.email=admin@yourdomain.com
- --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
- --certificatesresolvers.le.acme.httpchallenge.entrypoint=web
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik:/letsencrypt
networks:
- edge
restart: unless-stopped
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: ${DB_POSTGRESDB_USER}
POSTGRES_PASSWORD: ${DB_POSTGRESDB_PASSWORD}
POSTGRES_DB: ${DB_POSTGRESDB_DATABASE}
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- internal
restart: unless-stopped
n8n:
image: n8nio/n8n:latest
environment:
N8N_HOST: ${N8N_HOST}
N8N_PROTOCOL: ${N8N_PROTOCOL}
N8N_PORT: ${N8N_PORT}
WEBHOOK_URL: ${WEBHOOK_URL}
GENERIC_TIMEZONE: ${GENERIC_TIMEZONE}
TZ: ${TZ}
N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
N8N_BASIC_AUTH_ACTIVE: ${N8N_BASIC_AUTH_ACTIVE}
N8N_BASIC_AUTH_USER: ${N8N_BASIC_AUTH_USER}
N8N_BASIC_AUTH_PASSWORD: ${N8N_BASIC_AUTH_PASSWORD}
DB_TYPE: ${DB_TYPE}
DB_POSTGRESDB_HOST: ${DB_POSTGRESDB_HOST}
DB_POSTGRESDB_PORT: ${DB_POSTGRESDB_PORT}
DB_POSTGRESDB_DATABASE: ${DB_POSTGRESDB_DATABASE}
DB_POSTGRESDB_USER: ${DB_POSTGRESDB_USER}
DB_POSTGRESDB_PASSWORD: ${DB_POSTGRESDB_PASSWORD}
EXECUTIONS_DATA_PRUNE: ${EXECUTIONS_DATA_PRUNE}
EXECUTIONS_DATA_MAX_AGE: ${EXECUTIONS_DATA_MAX_AGE}
volumes:
- n8n_data:/home/node/.n8n
networks:
- internal
- edge
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=Host(`${N8N_HOST}`)
- traefik.http.routers.n8n.entrypoints=websecure
- traefik.http.routers.n8n.tls.certresolver=le
- traefik.http.services.n8n.loadbalancer.server.port=5678
depends_on:
- postgres
- traefik
restart: unless-stopped
networks:
edge:
name: n8n_edge
internal:
name: n8n_internal
internal: true
volumes:
n8n_data:
postgres_data:Pokrenite:
docker compose up -d
docker compose ps
docker logs -n 200 n8n-n8n-1Provjerite možete li otvoriti:
https://n8n.yourdomain.com/za UI- testni workflow webhook, ako ga uključite
Zašto je ovaj Compose file sigurniji od tipičnog quickstarta#
| Praksa | Tipični quickstart | Ovaj vodič |
|---|---|---|
| Baza | SQLite unutar containera | Postgres na privatnoj mreži |
| TLS | Često nedostaje | Automatski TLS preko Traefika |
| Portovi | n8n port javno izložen | Samo 80 i 443 javno |
| Izolacija mreže | Ravna mreža | Interna mreža za DB promet |
| Persistence | Ponekad efemerno | Named volumes za DB i n8n podatke |
💡 Savjet: Kad stabilizirate, pinajte verzije. Na primjer,
n8nio/n8n:1.90.0umjestolatest. Smanjuje iznenadna pucanja tijekom automatskih updatea.
# Korak 6: Strategija persistencea i retencije podataka#
Vaša dva glavna trajna resursa:
- 1Postgres data volume, koji sadrži workflowe, metapodatke izvršavanja i enkriptirane blobove vjerodajnica.
- 2n8n data volume, koji sadrži konfiguraciju i binarne podatke, uključujući uploadove ovisno o postavkama.
Držite executions pod kontrolom#
Neograničena povijest izvršavanja uzrokuje dva problema: rast diska i dulje backup-e. Ako imate 5.000 izvršavanja dnevno i svako sprema makar 50 KB JSON-a, to je oko 5000 * 50 KB = 250 MB dnevno, odnosno otprilike 7,5 GB mjesečno.
Postavke pruninga u .env to značajno smanjuju. Česta polazna točka je 7 dana radi debugiranja i audita, ili 72 sata ako imate odvojeno logiranje i monitoring.
# Korak 7: Opcije za upravljanje tajnama koje stvarno funkcioniraju#
Ako zaista želite dugoročno self hostati n8n, .env je tek prvi korak. Treba vam plan gdje tajne žive, tko ih može čitati i kako se rotiraju.
Opcija A: .env uz stroge dozvole nad datotekom#
Ovo je minimalno održiv pristup.
chmod 600 ~/apps/n8n/.env
chown deploy:deploy ~/apps/n8n/.envPrednosti: jednostavno. Mane: tajne su na disku u plain textu.
Opcija B: Docker secrets s file-based vrijednostima okruženja#
Docker Compose može montirati secrets kao datoteke, a mnogi servisi mogu čitati iz datoteka. n8n primarno očekuje env varijable, pa je praktičan obrazac wrapper entrypoint ili export varijabli iz datoteka.
Ako želite jednostavniji pristup hardeningu, zadržite .env, ali iste vrijednosti pohranite u password manager i periodično ih rotirajte.
Opcija C: Vanjski secrets manager#
Za regulirana okruženja koristite secrets manager i injektirajte vrijednosti u runtimeu. Ključni zahtjev je da su encryption key i DB lozinka dosljedno dostupni pri svakom restartu.
ℹ️ Napomena: Bez obzira na metodu, prioritetne tajne su
N8N_ENCRYPTION_KEY, lozinka baze i sve n8n vjerodajnice koje se koriste za produkcijske sustave poput payment providera i CRM admina.
# Korak 8: SSL detalji i česti reverse proxy problemi#
Traefik terminira TLS i prosljeđuje prema n8n-u. Dvije postavke sprječavaju 80 posto “webhook URL” problema:
- Postavite
WEBHOOK_URLna vaš javni HTTPS URL. - Osigurajte da Host header routing odgovara vašoj domeni.
Dodajte HTTP → HTTPS redirect#
Dodajte ove labele na n8n router ili konfigurirajte globalni redirect u Traefiku. Jednostavan obrazac je dedicated HTTP router koji preusmjerava.
Ako želite minimalnu promjenu, dodajte ovo u Traefik command listu:
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entrypoints.web.http.redirections.entrypoint.scheme=https# Korak 9: Sigurnosno očvršćivanje n8n-a u produkciji#
Self-hosting mijenja vaš threat model. Napadači će pokušavati credential stuffing, iskorištavati izložene webhooks-e i sondirati admin panele.
1) Autentikacija i dozvole#
U najmanju ruku:
- Koristite n8n user management i jake lozinke.
- Držite basic auth uključen dok ne uvedete SSO ili mrežne kontrole.
- Koristite odvojene n8n račune po osobi, bez dijeljenih vjerodajnica.
Ako vaša n8n instanca podržava roleove, izbjegavajte davati svima admin pristup. Glavni rizik je slučajno izlaganje vjerodajnica i uređivanje workflowa.
2) Izolacija mreže i izloženost inbound prometa#
Compose datoteka koristi internal mrežu za Postgres. Time se sprječava da DB container bude dostupan s drugih Docker mreža i s vanjskih sučelja hosta.
Također pazite da ne publishate Postgres portove. Nemojte dodavati ports za Postgres osim ako imate vrlo specifičnu potrebu.
3) Izloženost webhooks-a i allowlisting#
Ako kreirate javne webhooks-e, to su internet-facing endpointi. Zaštitite ih kao bilo koji API:
- Koristite tajne u putanji webhooka ili u headerima.
- Validirajte signature payloada gdje je podržano.
- Rate-limitajte na reverse proxyju ako je moguće.
Tipičan siguran obrazac je header secret koji prvi node validira prije nego što radi išta skupo.
⚠️ Upozorenje: “Skriveni” webhook URL-ovi nisu autentikacija. Ako URL iscuri u logove, povijest preglednika ili ticket, postaje trajni bypass.
4) Dozvole containera i filesystem#
Izbjegavajte dodatne privilegije:
- Nemojte pokretati n8n s
privileged: true. - Nemojte montirati Docker socket u n8n container.
- Preferirajte named volumes umjesto bind-mountanja osjetljivih host putanja.
Ako bind-mountate direktorije, držite ownership strogo i izbjegavajte world-writable dozvole.
5) Security headeri i kontrole na razini aplikacije#
Reverse proxyji mogu dodavati headere poput HSTS i X-Content-Type-Options. Krenite s općim praksama iz naše Sigurnosne kontrolne liste za web aplikacije i primijenite ih na proxy sloj.
6) Održavajte ovisnosti ažurnima, ali ne naslijepo#
Ažuriranje n8n-a je sigurnosno kritično jer alati za automatizaciju dodiruju mnoge sustave. Međutim, updatei mogu slomiti workflowe zbog promjena u nodeovima.
Praktična kadenca:
| Stavka | Kadenca | Kako |
|---|---|---|
| OS sigurnosni updatei | Tjedno | unattended-upgrades ili planirano održavanje |
| Docker i engine | Mjesečno | pinanje i upgrade u prozoru |
| n8n verzija | Svaka 2 do 4 tjedna | pročitati release noteove, testirati na stagingu |
| Postgres minor updatei | Mjesečno | ostati unutar iste major verzije |
# Korak 10: Backupi koje možete vratiti#
Backup je stvaran tek ako ga možete vratiti. Za n8n, tretirajte ga kao produkcijski SaaS: dump baze plus snapshot data direktorija, automatizirano dnevno, offsite pohranjeno i testirano mjesečno.
Što backupirati#
| Asset | Sadrži | Metoda backupa |
|---|---|---|
| Postgres baza | Workflowe, korisnike, blobove vjerodajnica, zapise izvršavanja | pg_dump logički backupi i povremeni snapshotovi volumea |
| n8n data volume | Konfiguraciju instance, binarne podatke, neke postavke | arhiviranje volumea ili tarball bind-mounta |
.env | encryption key, DB lozinku, hostnameove | pohraniti sigurno, verzionirati kroz secrets manager |
| Reverse proxy ACME | TLS cert metapodatke | opcionalno, može se ponovno izdati |
Backup skripta: Postgres plus n8n podaci#
Kreirajte backup.sh:
#!/usr/bin/env bash
set -euo pipefail
BASE_DIR="$HOME/apps/n8n"
BACKUP_DIR="$BASE_DIR/backups"
TS="$(date +%F_%H-%M)"
mkdir -p "$BACKUP_DIR"
# Postgres logical dump
docker exec -t n8n-postgres-1 pg_dump -U n8n n8n | gzip > "$BACKUP_DIR/postgres_$TS.sql.gz"
# n8n volume archive
docker run --rm \
-v n8n_n8n_data:/volume:ro \
-v "$BACKUP_DIR":/backup \
alpine:3.20 \
sh -c "cd /volume && tar -czf /backup/n8n_data_$TS.tar.gz ."
# optional: checksum
sha256sum "$BACKUP_DIR"/*"$TS"* > "$BACKUP_DIR/checksums_$TS.txt"Učinite je izvršnom:
chmod +x ~/apps/n8n/backup.shZakažite dnevno u 02:30:
crontab -eDodajte:
30 2 * * * /home/deploy/apps/n8n/backup.sh >/home/deploy/apps/n8n/backups/cron.log 2>&1💡 Savjet: Uvedite politiku retencije. Česta polazna točka je 14 dnevnih backup-a plus 8 tjednih backup-a. Bez retencije, backupi s vremenom postanu outage.
Offsite pohrana#
U najmanju ruku, kopirajte backup-e s VPS-a svakodnevno. Opcije uključuju S3-kompatibilnu pohranu, Backblaze B2 ili drugi server.
Ako koristite rclone, možete pushati backup folder nakon kreiranja. Držite credentials ograničene samo na taj bucket i putanju.
# Korak 11: Postupak vraćanja (testirajte ovo na stagingu)#
Vraćanje n8n-a je jednostavno ako čuvate encryption key i vraćate pravim redoslijedom.
Restore kontrolna lista#
| Korak | Radnja | Zašto |
|---|---|---|
| 1 | Zaustavite servise | Sprječava upise tijekom restorea |
| 2 | Vratite Postgres dump | Vraća workflowe i blobove vjerodajnica |
| 3 | Vratite n8n data volume | Vraća konfiguraciju i binarne podatke |
| 4 | Provjerite da .env sadrži originalni encryption key | Omogućuje dekripciju vjerodajnica |
| 5 | Pokrenite servise i validirajte | Potvrđuje workflowe, webhooks i izvršavanja |
Zaustavite containere:
cd ~/apps/n8n
docker compose downVratite Postgres:
gzip -dc backups/postgres_YYYY-MM-DD_HH-MM.sql.gz | \
docker run -i --rm --network n8n_internal postgres:16-alpine \
psql "postgresql://n8n:YOURPASSWORD@postgres:5432/n8n"Vratite n8n volume arhivu:
docker run --rm \
-v n8n_n8n_data:/volume \
-v "$HOME/apps/n8n/backups":/backup \
alpine:3.20 \
sh -c "rm -rf /volume/* && cd /volume && tar -xzf /backup/n8n_data_YYYY-MM-DD_HH-MM.tar.gz"Ponovno pokrenite:
docker compose up -d
docker compose logs -n 200 n8nValidirajte restore#
- Možete li se prijaviti u UI
- Pojavljuju li se workflowi
- Jesu li vjerodajnice validne i ne prikazuju “missing encryption key”
- Izvršavaju li se barem dva kritična workflowa uspješno
- Vraćaju li webhooks očekivane status kodove
⚠️ Upozorenje: Restore koji se “uspješno” vrati, ali ne može dekriptirati vjerodajnice, i dalje je neuspješan restore. Restore drill mora uključivati validaciju vjerodajnica.
# Korak 12: Najbolje prakse održavanja#
Samostalno hostana platforma za automatizaciju dio je vaše produkcijske infrastrukture. Održavanje je ono što je dugoročno čini jeftinijom od SaaS-a.
Rutina ažuriranja koju možete održavati#
- 1Klonirajte produkcijski Compose direktorij u staging.
- 2Nadogradite n8n image verziju na stagingu i napravite smoke testove workflowa.
- 3Isplanirajte maintenance window.
- 4Prvo napravite backup, zatim nadogradite produkciju.
Primjer nadogradnje:
cd ~/apps/n8n
docker compose pull
docker compose up -d
docker compose psPratite prave signale#
| Signal | Što pratiti | Alati |
|---|---|---|
| Disk | rast volumea i logova | df -h, log rotation, pruning |
| Memorija | OOM kill tijekom izvršavanja | docker stats, VPS metrike |
| Queue latencija | backlog izvršavanja | n8n executions prikaz, vanjski monitoring |
| Greške | padovi workflowa, problemi s vjerodajnicama | email alerti, agregacija logova |
Rast logova i retencija#
Containeri mogu generirati velike logove kroz mjesece. Provjerite je li Docker log rotation uključen na hostu. Česta sigurna polazna točka je 10 MB po datoteci puta 3 datoteke.
Zdravlje baze#
Ako imate mnogo izvršavanja, Postgres performanse su bitne. U najmanju ruku:
- Ostavite dovoljno prostora na disku, ciljajte 20 posto slobodnog.
- Vacuum se odrađuje automatski, ali pratite bloat ako spremate mnogo execution zapisa.
- Razmislite o agresivnijem pruningu execution podataka ako vam ne treba duga retencija.
# Kada se self-hosting n8n-a isplati#
Self-hosting ima trošak, ali uklanja puno varijabilnog pricinga. Timovi često prelaze na self host n8n kada:
- Vrte workflowe u velikom volumenu i žele predvidiv trošak infrastrukture.
- Trebaju rezidentnost podataka ili privatno umrežavanje prema internim servisima.
- Žele custom nodeove ili dublje integracije.
Ako trebate pomoć pri odabiru najboljeg pristupa, krenite s n8n vs Zapier vs Make u 2026. i zatim to mapirajte na svoje zahtjeve za podacima i usklađenošću.
Ako želite da se ovo deploya, osigura i nadzire bez trošenja internog engineering vremena, pogledajte naše usluge automatizacije.
# Ključne poruke#
- Stavite n8n iza reverse proxyja s HTTPS-om i javno izložite samo portove 80 i 443.
- Koristite Postgres na privatnoj Docker mreži i nikad ne izlažite port baze prema internetu.
- Čuvajte i štitite
N8N_ENCRYPTION_KEYkao master key te ga uključite u plan oporavka od katastrofe. - Backupirajte i Postgres i n8n data volume, automatizirajte dnevno, uvedite retenciju i testirajte restore mjesečno.
- Smanjite operativni rizik pinanjem verzija, nadogradnjama po rasporedu i validacijom kritičnih workflowa nakon svakog updatea.
# Zaključak#
Da biste sigurno self host n8n, potreban vam je produkcijski mindset: privatno umrežavanje, jaka autentikacija, TLS, pouzdani backupi i ponovljiv proces nadogradnje. Kad su ti dijelovi na mjestu, n8n postaje stabilna okosnica automatizacije koja može rasti s vašim poslovanjem bez SaaS iznenađenja u cijeni.
Ako želite da Samioda za vas deploya ovaj setup, očvrsne ga te doda monitoring i automatizirane backup-e, kontaktirajte nas putem stranice usluge automatizacije.
FAQ
Više iz kategorije Poslovna automatizacija
Sve →n8n rukovanje pogreškama u produkciji: ponovni pokušaji, dead-letter tokovi i alertiranje
Praktičan vodič za rukovanje pogreškama u n8n-u u produkciji — uključujući strategije ponovnih pokušaja, idempotentnost, obrasce djelomičnih neuspjeha, dead-letter tokove te Slack ili email alertiranje koje možete ponovno koristiti.
ROI automatizacije radnih procesa: kako izračunati uštede (formule + primjeri)
Saznajte kako izračunati ROI automatizacije radnih procesa uz praktične formule i primjere koji pokrivaju uštede vremena, smanjenje pogrešaka i skalabilnost.
Najbolje prakse automatizacije e-mailova za rast poslovanja (Welcome, Drip i transakcijski)
Naučite najbolje prakse automatizacije e-mailova za rast: welcome sekvence, drip kampanje i transakcijske e-mailove — te kako izgraditi pouzdane workflowe uz n8n.
Trebate pomoć s projektom?
Gradimo prilagođena rješenja koristeći tehnologije iz ovog članka. Senior tim, fiksne cijene.
Povezani članci
n8n rukovanje pogreškama u produkciji: ponovni pokušaji, dead-letter tokovi i alertiranje
Praktičan vodič za rukovanje pogreškama u n8n-u u produkciji — uključujući strategije ponovnih pokušaja, idempotentnost, obrasce djelomičnih neuspjeha, dead-letter tokove te Slack ili email alertiranje koje možete ponovno koristiti.
n8n webhook vodič: Automatizirajte bilo što uz webhooks (2026 korak-po-korak)
Praktičan n8n webhook vodič koji pokazuje kako hvatati webhook događaje, transformirati podatke, obrađivati pogreške i isporučiti pouzdane automatizacije uz stvarne primjere.
Kako automatizirati svoj CRM s n8n: praktični vodič (lead scoring, follow-upovi, izvještavanje)
Praktični vodič za 2026. za CRM automatizaciju s n8n: povežite HubSpot ili Pipedrive, izgradite lead scoring, automatizirane follow-upove i workflowe za izvještavanje uz primjere koje možete copy-pasteati.