• Technologie

Jak si n8n nainstalovat na vlastním serveru VPS s Linuxem (podrobný návod)

  • Felix Rose-Collins
  • ••
  • 13 min read

Úvod

n8n je jedním z nejvýkonnějších nástrojů pro automatizaci pracovních postupů s otevřeným zdrojovým kódem, které jsou dnes k dispozici. Na rozdíl od alternativ typu SaaS, jako jsou Zapier nebo Make, vám n8n poskytuje plnou kontrolu nad vašimi daty a automatizacemi – ale pouze v případě, že si jej hostujete sami. Linuxový VPS je pro tento účel ideálním prostředím: je neustále dostupný, cenově dostupný a plně pod vaší kontrolou.

Tento průvodce vás provede kompletním procesem nastavení produkční, samostatně hostované instance n8n na Linuxovém VPS. Vystartujete od prázdného serveru a dostanete se až k plně zabezpečenému nasazení n8n s podporou SSL, využívajícímu Docker, Nginx, PostgreSQL, automatické zálohy a posílenou bezpečnostní konfiguraci.

Hlavní body

  • n8n na VPS vám nabízí neomezený počet pracovních postupů, žádné limity využití a plné vlastnictví dat
  • Docker je doporučený způsob instalace pro snazší aktualizace a izolaci
  • Pro produkční zátěž se doporučuje databáze PostgreSQL (nikoli SQLite)
  • Pro produkční použití je vyžadován reverzní proxy server (Nginx) s certifikátem SSL od Let’s Encrypt
  • Váš VPS by měl mít alespoň 1 vCPU a 2 GB RAM pro plynulý chod n8n s PostgreSQL
  • Pravidelné automatické zálohy chrání data vašich pracovních postupů a přihlašovací údaje

Co je n8n?

n8n (vyslovuje se „n-osm-n“) je platforma pro automatizaci pracovních postupů s otevřeným zdrojovým kódem, která vám umožňuje propojovat aplikace, API a služby pomocí vizuálního editoru založeného na uzlech. Podporuje více než 400 integrací ihned po instalaci a umožňuje spouštět vlastní kód v jazyce JavaScript nebo Python přímo v rámci pracovních postupů.

Hlavní rozdíl mezi n8n a jeho konkurenty spočívá ve třech aspektech: vlastnictví, náklady a flexibilita.

**Vlastnictví: **Pokud si n8n hostujete sami, vaše data o pracovních postupech, přihlašovací údaje a protokoly o provedení nikdy neopustí váš server. Pro týmy, které pracují s citlivými údaji o zákaznících, finančními záznamy nebo proprietární obchodní logikou, je to nesmírně důležité. Cloudové platformy ukládají vaši automatizační logiku na své infrastruktuře, která podléhá jejich zásadám uchovávání dat a bezpečnostním opatřením.

**Náklady: **Cloudový tarif n8n účtuje poplatky za každé spuštění pracovního postupu, což se u automatizací s velkým objemem rychle nasčítá. Středně velký tým, který denně spouští tisíce úloh, může měsíčně utratit stovky dolarů. Na vlastním VPS, jakmile zaplatíte za server, je počet spuštění neomezený bez dalších nákladů.

**Flexibilita: **Samostatně hostovaný n8n vám umožňuje instalovat komunitní uzly, spouštět libovolný kód uvnitř pracovních postupů, připojovat se k interním službám, které nejsou přístupné z veřejného internetu, a konfigurovat každý aspekt nasazení podle vašich představ. Cloudové tarify mnoho z těchto možností omezují.

Předpoklady

Než začnete, ujistěte se, že máte:

  • Linuxový VPS s operačním systémem Ubuntu 22.04 nebo 24.04 (doporučeno). Zkontrolujte, zda váš poskytovatel nabízí Ubuntu v rámci vámi zvoleného tarifu, protože některé základní tarify nabízejí pouze jiné distribuce
  • Uživatel bez oprávnění root s oprávněními sudo
  • Doménové jméno směřující na IP adresu vašeho VPS (např. n8n.vašedoména.com)
  • Přístup přes SSH k vašemu serveru
  • Základní znalost příkazového řádku systému Linux

Výběr správného VPS

Výběr serveru má přímý vliv na výkon n8n. Minimálně potřebujete 1 vCPU, 2 GB RAM a 20 GB úložiště SSD. Dodatečná RAM oproti minimální instalaci založené na SQLite je nutná, protože PostgreSQL, Nginx a n8n běží současně.

Seznamte se s nástrojem Ranktracker

Univerzální platforma pro efektivní SEO

Za každým úspěšným podnikem stojí silná kampaň SEO. Vzhledem k nesčetným optimalizačním nástrojům a technikám je však těžké zjistit, kde začít. No, už se nebojte, protože mám pro vás přesně to, co vám pomůže. Představuji vám komplexní platformu Ranktracker pro efektivní SEO.

Konečně jsme otevřeli registraci do nástroje Ranktracker zcela zdarma!

Vytvoření bezplatného účtu

Nebo se přihlaste pomocí svých přihlašovacích údajů

Pro týmy s více uživateli, složitými vícestupňovými pracovními postupy nebo vysokou propustností webhooků doporučujeme upgrade na 2 vCPU a 4 GB RAM. Úložiště by mělo mít minimálně 40 GB, pokud plánujete uchovávat dlouhé protokoly provádění.

PetroSky nabízí plány NVMe VPS v Paříži a Montrealu, kde je n8n k dispozici jako aplikace instalovatelná jedním kliknutím při dokončení objednávky: open-source instalační skript nasadí n8n pomocí Docker Compose a automaticky nastaví HTTPS prostřednictvím Caddy a Let’s Encrypt. Tento průvodce se zabývá manuálním postupem, který funguje u jakéhokoli poskytovatele.

Při výběru poskytovatele VPS zohledněte také geografickou polohu. Hostujte svou instanci n8n v regionu, který je nejblíže službám, ke kterým se bude nejčastěji připojovat – tím se sníží latence API při provádění vašich pracovních postupů.

Krok 1: Aktualizujte svůj server

Připojte se přes SSH k vašemu VPS a před instalací čehokoli proveďte úplnou aktualizaci systému:

    sudo apt update && sudo apt upgrade -y

Tím zajistíte, že máte nejnovější bezpečnostní záplaty a že všechny systémové knihovny jsou aktuální, než přidáte Docker a další software.

Pokud byla provedena aktualizace jádra, restartujte systém:

    sudo reboot

Po opětovném připojení přes SSH vytvořte vyhrazeného systémového uživatele pro provoz n8n. Spouštění služeb jako root představuje bezpečnostní riziko:

    sudo adduser n8nuser
    sudo usermod -aG sudo n8nuser
    su - n8nuser

Krok 2: Nainstalujte Docker a Docker Compose

Oficiálně doporučeným způsobem instalace n8n je Docker. Docker izoluje n8n a jeho závislosti od zbytku systému, což usnadňuje aktualizace a vrácení změn.

Nainstalujte Docker pomocí oficiálního skriptu:

    curl -fsSL https://get.docker.com | sudo sh

Dokumentace Dockeru uvádí, že tento skript se nedoporučuje pro produkční prostředí, protože nainstaluje nejnovější verzi, aniž by vám umožnil vybrat si konkrétní verzi. Pokud chcete zafixovat verze Dockeru, použijte místo toho metodu repozitáře apt z instalačního průvodce Dockeru pro Ubuntu (docs.docker.com/engine/install/ubuntu/).

Přidejte svého uživatele do skupiny Docker, abyste mohli spouštět příkazy Dockeru bez sudo:

    sudo usermod -aG docker $USER
    newgrp docker

Ověřte, zda Docker běží správně:

    docker --version
    docker compose version

Oba příkazy by měly bez chyb vrátit řetězce s verzemi. Pokud Docker Compose není nalezen, nainstalujte jej ručně:

    sudo apt install docker-compose-plugin -y

Krok 3: Nastavení PostgreSQL pro produkční prostředí

Ve výchozím nastavení používá n8n jako databázi SQLite. SQLite je vhodný pro osobní použití a nenáročné pracovní postupy, ale špatně zvládá souběžné zápisy, což se projevuje zpomalením a chybami typu „databáze je uzamčena“, jakmile běží mnoho pracovních postupů současně. Pro nasazení v produkčním prostředí je správnou volbou PostgreSQL.

Seznamte se s nástrojem Ranktracker

Univerzální platforma pro efektivní SEO

Za každým úspěšným podnikem stojí silná kampaň SEO. Vzhledem k nesčetným optimalizačním nástrojům a technikám je však těžké zjistit, kde začít. No, už se nebojte, protože mám pro vás přesně to, co vám pomůže. Představuji vám komplexní platformu Ranktracker pro efektivní SEO.

Konečně jsme otevřeli registraci do nástroje Ranktracker zcela zdarma!

Vytvoření bezplatného účtu

Nebo se přihlaste pomocí svých přihlašovacích údajů

Spusťte PostgreSQL v Dockeru společně s n8n:

    mkdir ~/n8n && cd ~/n8n

Vytvořte soubor prostředí pro bezpečné uložení vašich tajných údajů. Nikdy nezadávejte hesla přímo do souboru compose:

    nano ~/n8n/.env

Přidejte následující řádky a nahraďte zástupné hodnoty silnými a jedinečnými hesly:

    POSTGRES_USER=n8n
    POSTGRES_PASSWORD=zde_zadejte_silné_heslo_k_databázi
    POSTGRES_DB=n8n
    N8N_ENCRYPTION_KEY=zde_zadejte_náhodný_řetězec_o_délce_32_znaků

Vygenerujte bezpečný šifrovací klíč pomocí:

    openssl rand -hex 16

Výstup použijte jako svůj N8N_ENCRYPTION_KEY. Tento klíč šifruje přihlašovací údaje uložené v n8n — pokud jej ztratíte, všechny uložené přihlašovací údaje budou nenávratně ztraceny.

Krok 4: Vytvořte soubor Docker Compose pro n8n

Vytvořte soubor docker-compose.yml ve vašem adresáři n8n:

    nano ~/n8n/docker-compose.yml

Vložte následující konfiguraci:


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
    svazky:
      - n8n_data:/home/node/.n8n
    závisí na:
      postgres:
        podmínka: service_healthy


svazky:
  postgres_data:
  n8n_data:

Poznámky ke konfiguraci:

  • Vázání portu 127.0.0.1:5678:5678 zajišťuje, že n8n je přístupný pouze lokálně. Nginx bude zpracovávat veškerý externí provoz — nikdy nevystavujte port 5678 přímo na internet.
  • Použití `depends_on` s podmínkou `service_healthy` zajišťuje, že n8n před spuštěním počká, až bude PostgreSQL plně připraven. Bez toho by n8n při prvním spuštění selhal, pokud by databáze ještě nepřijímala připojení.
  • N8N_LOG_LEVEL=info poskytuje užitečné provozní protokoly, aniž by zaplavovalo diskový prostor tak, jak by to dělalo nastavení debug.

Krok 5: Instalace a konfigurace Nginx

Nginx bude fungovat jako reverzní proxy a bude přesměrovávat HTTPS provoz z portu 443 do vašeho kontejneru n8n na portu 5678. Zajišťuje také ukončení SSL, což znamená, že samotný n8n nemusí spravovat certifikáty.

    sudo apt install nginx -y

Odstraňte výchozí web a vytvořte nový blok serveru pro n8n:

    sudo rm /etc/nginx/sites-enabled/default
    sudo nano /etc/nginx/sites-available/n8n

Vložte následující text:

    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;
    }
}

Blok map v horní části správně zpracovává hlavičky aktualizace WebSocketu. n8n používá WebSockety pro aktualizace v reálném čase v editoru, takže tato konfigurace je důležitá — bez ní nebude vizuální editor fungovat správně.

Direktiva `client_max_body_size 50m` umožňuje pracovním postupům přijímat velká data webhooků. Výchozí limit Nginxu je 1 MB, což je příliš málo pro pracovní postupy zpracovávající nahrávání souborů nebo velké odpovědi ve formátu JSON.

Povolte konfiguraci a otestujte ji:

    sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx

Krok 6: Vystavení SSL certifikátu pomocí Let’s Encrypt

Nainstalujte Certbot a plugin pro Nginx:

    sudo apt install certbot python3-certbot-nginx -y

Požádejte o certifikát pro svou doménu:

    sudo certbot --nginx -d n8n.yourdomain.com

Postupujte podle pokynů. Na otázku, zda chcete přesměrovat HTTP provoz na HTTPS, vyberte možnost Ano (možnost 2). Certbot automaticky aktualizuje konfiguraci Nginxu tak, aby toto přesměrování zpracovávala, a nainstaluje kompletní řetězec certifikátů.

Ověřte, zda je automatické obnovení správně nakonfigurováno:

    sudo certbot renew --dry-run

Certbot nainstaluje časovač systemd, který automaticky obnovuje certifikáty každých 12 hodin. Certifikáty se obnovují, když zbývá do jejich vypršení méně než 30 dní. Ruční obnovování by nikdy nemělo být nutné.

Krok 7: Spusťte n8n

Vraťte se do adresáře n8n a spusťte všechny služby:

    cd ~/n8n
    docker compose up -d

Docker stáhne obrazy PostgreSQL a n8n, vytvoří svazky, nejprve spustí PostgreSQL, počká, až proběhne kontrola stavu, a poté spustí n8n. Tento proces trvá při prvním spuštění 1–3 minuty.

Zkontrolujte, zda oba kontejnery běží:

    docker compose ps

Měli byste vidět, že postgres i n8n jsou uvedeny se stavem Up. Pokud n8n zobrazuje stav Restarting, zkontrolujte protokoly:

    docker compose logs n8n --tail=50

Jakmile budou oba kontejnery v pořádku, otevřete prohlížeč a přejděte na adresu https://n8n.yourdomain.com. Budete vyzváni k vytvoření účtu vlastníka s e-mailovou adresou a heslem. Tento účet má plný administrátorský přístup k vaší instanci n8n.

Krok 8: Nastavení spouštění n8n při startu systému

Příkaz restart: always v souboru docker-compose.yml zajišťuje, že se všechny kontejnery automaticky restartují v případě selhání nebo restartu serveru.

Ověřte to restartováním serveru:

    sudo reboot

Po opětovném připojení přes SSH zkontrolujte, zda se n8n automaticky spustil:

    docker compose -f ~/n8n/docker-compose.yml ps

Oba kontejnery by se měly zobrazit jako spuštěné bez jakéhokoli ručního zásahu.

Krok 9: Nastavení automatických záloh

Vaše data n8n — pracovní postupy, přihlašovací údaje a historie provedení — se nacházejí na dvou místech: v databázi PostgreSQL a v Dockerovém svazku n8n_data (který ukládá šifrovací klíče a část konfigurace). Pravidelně zálohujte obojí.

Vytvořte zálohovací skript:

    nano ~/n8n/backup.sh

Vložte následující text:

    #!/bin/bash
    BACKUP_DIR="/home/n8nuser/backups"
    DATE=$(date +%Y-%m-%d_%H-%M)
    LOG_FILE="$BACKUP_DIR/backup.log"
# Nejdříve se ujistěte, že adresář pro zálohy existuje
mkdir -p "$BACKUP_DIR"


# Zálohujte databázi 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"


# Ověření, zda se zálohování podařilo a soubor není prázdný
if [ $? -ne 0 ] || [ ! -s "$DUMP_FILE" ]; then
    echo "CHYBA: Zálohování databáze se nezdařilo dne $DATE" >> "$LOG_FILE"
    rm -f "$DUMP_FILE"
    exit 1
fi


# Zálohujte šifrovací klíč a proměnné prostředí
cp /home/n8nuser/n8n/.env "$BACKUP_DIR/n8n_env_$DATE.bak"
# Zálohujte svazek n8n_data (konfiguraci instance a nainstalované komunitní uzly)
docker run --rm -v n8n_n8n_data:/data -v "$BACKUP_DIR":/backup alpine \
  tar czf /backup/n8n_data_$DATE.tar.gz -C /data .


# Komprimace výpisu databáze
gzip "$DUMP_FILE"


# Zachovat pouze zálohy z posledních 7 dnů
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 "Zálohování dokončeno: n8n_db_$DATE.sql.gz" >> "$LOG_FILE"

Název svazku n8n_n8n_data pochází z toho, že Docker Compose předřazuje před název svazku název projektové složky (n8n). Ověřte si svůj pomocí příkazu docker volume ls.

Nastavte skript jako spustitelný a naplánujte jeho spuštění pomocí cronu:

    chmod +x ~/n8n/backup.sh
    crontab -e

Přidejte tento řádek, aby se záloha spouštěla každý den ve 2:00:

    0 2 * * * /home/n8nuser/n8n/backup.sh >> /home/n8nuser/backups/backup.log 2>&1

Pro redundanci mimo lokalitu zvažte synchronizaci svého záložního adresáře s poskytovatelem objektového úložiště kompatibilního s S3 pomocí rclone nebo aws s3 sync.

Krok 10: Zapněte základní zabezpečení

Nastavení brány firewall

Nainstalujte UFW a povolte pouze porty, které váš server potřebuje:

    sudo ufw allow OpenSSH
    sudo ufw allow 'Nginx Full'
    sudo ufw enable

Ověřte, zda jsou pravidla aktivní:

    sudo ufw status verbose

Měli byste vidět, že jsou povoleny porty 22 (SSH), 80 (HTTP) a 443 (HTTPS). Jedna výhrada: Docker zapisuje vlastní pravidla firewallu a u publikovaných portů kontejnerů obchází UFW. Port 5678 zůstává soukromý, protože soubor compose jej váže na 127.0.0.1, nikoli kvůli UFW, proto nikdy tuto vazbu neměňte na 0.0.0.0.

Zakázat ověřování heslem pro SSH

Pokud používáte klíče SSH (což byste měli), zcela deaktivujte přihlášení přes SSH pomocí hesla. Nejprve se ujistěte, že se účet n8nuser může přihlásit pomocí vašeho klíče. Na svém lokálním počítači spusťte:

    ssh-copy-id n8nuser@vaše_IP_adresa_serveru

Poté upravte konfiguraci SSH serveru:

    sudo nano /etc/ssh/sshd_config

Nastavte následující hodnoty:

    PasswordAuthentication no
    PermitRootLogin no
    sudo systemctl restart ssh

Na mnoha cloudových obrazech Ubuntu nastavuje soubor v adresáři /etc/ssh/sshd_config.d/ (často 50-cloud-init.conf) hodnotu PasswordAuthentication na yes, a tato hodnota má přednost, protože sshd používá první hodnotu, kterou načte. Zkontrolujte, jaké nastavení je skutečně platné:

    sudo sshd -T | grep -i passwordauthentication

Měl by se zobrazit výstup passwordauthentication no. Pokud se tak nestane, změňte hodnotu v souboru pro přepsání nastavení a znovu restartujte SSH.

Neukončujte aktuální relaci SSH, dokud neověříte, že přihlášení pomocí klíče funguje v novém terminálovém okně.

Omezení rychlosti na přihlašovací stránce n8n

Přidejte omezení rychlosti, abyste zpomalili útoky hrubou silou na přihlašovací koncový bod n8n.

Seznamte se s nástrojem Ranktracker

Univerzální platforma pro efektivní SEO

Za každým úspěšným podnikem stojí silná kampaň SEO. Vzhledem k nesčetným optimalizačním nástrojům a technikám je však těžké zjistit, kde začít. No, už se nebojte, protože mám pro vás přesně to, co vám pomůže. Představuji vám komplexní platformu Ranktracker pro efektivní SEO.

Konečně jsme otevřeli registraci do nástroje Ranktracker zcela zdarma!

Vytvoření bezplatného účtu

Nebo se přihlaste pomocí svých přihlašovacích údajů

**Důležité: **Směrnice limit_req_zone musí být umístěna uvnitř bloku http {} ve vaší hlavní konfiguraci Nginx — nikoli uvnitř bloku server. Otevřete hlavní konfiguraci:

    sudo nano /etc/nginx/nginx.conf

Do stávajícího bloku http {} přidejte tento řádek:

    http {
        ...
        limit_req_zone $binary_remote_addr zone=n8n_login:10m rate=5r/m;
        ...
    }

Poté v konfiguraci vašeho webu n8n (/etc/nginx/sites-available/n8n) přidejte tento blok `location` uvnitř bloku `server`, který naslouchá na portu 443 (Certbot jej vytvořil v kroku 6), vedle stávajícího bloku `location /`. Nginx nepřenáší proxy hlavičky z bloku `location /`, proto jsou zde zopakovány:

    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;
    }

Pro uplatnění změn restartujte Nginx:

    sudo nginx -t && sudo systemctl reload nginx

Tím se omezí počet pokusů o přihlášení z každé IP adresy na přibližně 5 za minutu, s malou tolerancí pro nárazové špičky.

Udržujte n8n a PostgreSQL aktualizované

Pravidelně stahujte nejnovější obrazy a restartujte:

    cd ~/n8n
    docker compose pull
    docker compose up -d

Docker stáhne nejnovější obrazy n8nio/n8n a postgres a restartuje pouze ty kontejnery, pro které je k dispozici novější verze.

Pro produkční prostředí zvažte přiřazení obrazu n8n ke konkrétnímu verznímu tagu (docker.n8n.io/n8nio/n8n:<version>, převzatému z poznámek k vydání n8n) a provádějte aktualizace záměrně, aby rutinní stažení nikdy nepřeskočilo hlavní verzi dříve, než si přečtete seznam změn.

Řešení běžných problémů

Kontejner n8n se neustále restartuje

Zkontrolujte protokoly kontejneru ihned po zahájení smyčky restartů:

    docker compose logs n8n --tail=100

Běžné příčiny:

  • Selhání připojení k databázi: Ujistěte se, že je PostgreSQL v pořádku pomocí příkazu `docker compose ps`. Zkontrolujte, zda se hodnota `POSTGRES_PASSWORD` ve vašem souboru `.env` shoduje s hodnotou, se kterou byla databáze inicializována.
  • Chybějící nebo změněný šifrovací klíč: Pokud není nastaveno N8N_ENCRYPTION_KEY nebo bylo změněno po prvním spuštění, n8n nemůže dešifrovat uložené přihlašovací údaje a dojde k jeho selhání.
  • Nedostatek RAM: PostgreSQL a n8n mohou společně spotřebovat 1–1,5 GB RAM. Zkontrolujte dostupnou paměť příkazem `free -h`.

Webhooky nefungují

Webhooky vyžadují, aby byl n8n na vaší doméně dostupný z internetu. Ověřte:

  1. Záznam DNS typu A vaší domény směřuje na IP adresu vašeho VPS: dig n8n.vašedoména.com
  2. Nginx běží: sudo systemctl status nginx
  3. Port 443 je otevřený: sudo ufw status
  4. Proměnná prostředí WEBHOOK_URL přesně odpovídá vaší veřejné doméně, včetně koncové lomítka

Editor n8n se nenačítá správně

Pokud se vizuální editor načte, ale zobrazuje prázdné plátno pracovního postupu nebo přestanou fungovat aktualizace v reálném čase, selhává připojení WebSocket. Zkontrolujte, zda je v konfiguraci Nginx přítomen blok map $http_upgrade a zda v řádku proxy_set_header Connection používáte proměnnou $connection_upgrade — nikoli doslovný řetězec „upgrade“.

Chyby SSL certifikátu

Pokud Certbot selže s chybou ověření domény, zkontrolujte, zda je port 80 přístupný z internetu:

    curl -I http://n8n.yourdomain.com

Pokud dojde k vypršení časového limitu požadavku, může být port 80 blokován firewallem vašeho poskytovatele VPS. Zkontrolujte pravidla firewallu v cloudové konzoli a také v UFW.

Závěr

Vlastní hostování n8n na Linuxovém VPS vám poskytuje platformu pro automatizaci pracovních postupů připravenou pro produkční prostředí bez omezení provádění, s plnou ochranou soukromí dat a flexibilitou spouštět jakoukoli integraci, kterou potřebujete. Nastavení popsané v tomto průvodci — Docker, PostgreSQL, reverzní proxy Nginx, SSL certifikát Let’s Encrypt, automatické zálohy a posílení zabezpečení — je stejná sestava používaná v produkčních prostředích a poskytuje vám stabilní a bezpečný základ, na kterém můžete stavět.

Na rozdíl od minimální instalace pomocí příkazu `docker run` je tato konfigurace navržena tak, aby odolala restartům serveru, zvládala souběžné spouštění pracovních postupů a hladce se zotavovala z poruch. Vaše přihlašovací údaje jsou šifrovány, data se každou noc zálohují a váš přihlašovací endpoint je chráněn omezením počtu pokusů proti útokům hrubou silou.

Jakmile bude vaše instance spuštěna, prozkoumejte vestavěné uzly n8n pro databáze, API, webhooky a integrace umělé inteligence, abyste mohli okamžitě začít automatizovat své pracovní postupy. Vlastní komunitní fórum na adrese community.n8n.io je také vynikajícím zdrojem nápadů na pracovní postupy, řešení problémů s uzly a tipů k nasazení.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Začněte používat Ranktracker... zdarma!

Zjistěte, co brání vašemu webu v umístění.

Vytvoření bezplatného účtu

Nebo se přihlaste pomocí svých přihlašovacích údajů

Different views of Ranktracker app