Jak na lokální n8n – zdarma s Dockerem: Krok za krokem

n8n docker lokální instalace

Přemýšleli jste někdy, jak se zbavit těch otravných, opakujících se úkolů, co vám každý den kradou cenné minuty? Určitě ano! Co kdybyste měli po ruce nástroj, který by propojil vaše oblíbené aplikace, automaticky posílal e-maily nebo zpracovával data? A to vše, prosím pěkně, většinou bez nutnosti psát jediný řádek kódu! Přesně takový super parťák je n8n. A ta nejlepší zpráva? Můžete si ho rozjet úplně zdarma přímo na svém počítači díky Dockeru.

Nebojte se, provedu Vás tím krok za krokem. Zapomeňte na složité návody, tady to půjde jako po másle. S tímto průvodcem převezmete kontrolu nad svými digitálními procesy a začnete automatizovat ihned!

Co je n8n a proč byste ho měli mít v hledáčku (a v Dockeru!)?

N8n je zkrátka pecka. Jde o open source nástroj, který doslova umí kouzlit s automatizací. Představte si, že propojíte různé aplikace a služby a to, jak už jsem zmínil, většinou bez jediného kousku kódu! N8n, Vám umožňuje stavět složité pracovní postupy neboli workflows. Ty vám pak vyřeší ty repetitivní úkoly, propojí API rozhraní nebo spojí cloudové aplikace s těmi, co máte na svém serveru.

Všechno funguje na principu „uzlů“ (nodes), kde každý uzel je nějaká aplikace nebo funkce. Tyhle uzly pak propojíte vizuálně, jednoduše přetahováním! A protože je to open source, máte plný přístup ke kódu. To znamená, že ti z vás, kdo se nebojí sáhnout si na kód, si ho klidně mohou upravit k obrazu svému. Spustit si n8n lokálně s Dockerem je podle mě ideální volba. Nejenže je to úplně zdarma, ale navíc získáte super flexibilní a izolované prostředí pro všechno možné – od vývoje, přes testování až po osobní automatizační projekty. Pojďme se na to podívat detailněji!

Proč je lokální n8n s Dockerem takový dream team?

  • Je to zadarmo, jasně! Zapomeňte na měsíční poplatky. Lokální instalace n8n Vás nebude stát ani korunu. Je to zkrátka skvělé pro sólisty nebo menší týmy, kteří prostě nechtějí platit za cloudové verze.
  • Izolace jak ve skleníku: S Dockerem se n8n usadí do svého vlastního, izolovaného kontejneru. Žádné konflikty s jinými aplikacemi na vašem počítači, žádné nervy. Prostě si to žije svůj vlastní život a funguje konzistentně, ať už máte jakýkoli operační systém.
  • Správa, která Vás nepoloží: Instalace, aktualizace a správa s Dockerem je to brnkačka. Žádné složité závislosti. Pro většinu self hosting nadšenců je to jednoznačně doporučená cesta.
  • Cestuje s Vámi: Docker kontejnery jsou jako cestovní kufry, které snadno přesunete z jednoho systému na druhý. Sdílení nastavení nebo migrace je díky tomu mnohem jednodušší.
  • Maká i offline: Internet vypadl? Nevadí! Na svých automatizačních postupech můžete v klidu pracovat i bez připojení k síti.
  • Vaše data jsou v bezpečí (ale buďte obezřetní!): Lokální n8n znamená, že všechny ty citlivé údaje a automatizační scénáře zůstávají u Vás na počítači. To je super, protože to může potenciálně posílit Vaše soukromí a kontrolu nad daty. Ale pozor, nezapomeňte, že celková bezpečnost se bude držet jako klíště na tom, jak máte zabezpečený svůj lokální operační systém a jak dodržujete základní bezpečnostní návyky.

Co budete k téhle parádičce potřebovat?

Než se pustíte do víru automatizace, je potřeba mít jednu věc, nainstalovaný Docker. Konkrétně doporučuji Docker Desktop. Ten je k dispozici pro Mac, Windows i Linux a obsahuje všechno potřebné.

docker desktop n8n s lokálním instalací
Docker desktop rozhraní

Instalace Docker Desktop – fakt jednoduché!

Jestliže Docker ještě neznáte nebo ho nemáte, nic se neděje! Jednoduše si stáhněte a nainstalujte Docker Desktop pro Váš operační systém. Ať už používáte Windows, macOS nebo Linux, instalace je většinou naprosto přímočará. Stačí stáhnout instalační soubor a postupovat podle pokynů. Až budete mít hotovo, zkontrolujte, že je Docker Desktop spuštěný a připravený. Ještě malý tip: pro samotný n8n server se hodí mít alespoň 2-4 GB RAM.

Instalujeme a startujeme n8n s Dockerem

Máme pro Vás dva hlavní způsoby, jak n8n s Dockerem rozjet u Vás doma. První je super rychlý start s jedním příkazem docker run, ideální pro vyzkoušení. Druhá cesta, přes docker compose, je robustnější a hodí se pro trvalejší nastavení. Pro takový „produkční“ provoz, tedy když už víte, že to budete používat často, je docker compose jasná volba. Uvidíte, je to mnohem pohodlnější!

Metoda 1: Rychlovka s docker run (na zkoušku ideál!)

Chcete si n8n rychle osahat? Tato metoda je pro Vás jako stvořená! Bez složitého nastavování vytvoříte a spustíte n8n kontejner, a co je důležité, Vaše data se uloží do speciálního svazku. To zajistí, že Vám nic nezmizí ani po restartu.

  1. Spušte Docker Dektop a otevřete terminál nebo příkazový řádek.
  2. Vytvořte si Docker svazek (volume). To je takové bezpečné místo, kde se budou trvale ukládat Vaše data. Spusťte tento příkaz:
    docker volume create n8n_testnuto

    Proč je to důležité? Aby se Vám po každém restartu kontejneru nevymazaly všechny pracovní postupy a přihlašovací údaje. Tyto data tam budete mít v malíčku!


  3. Nyní spusťte tento důležitý příkaz:
    docker run -it \
    --name n8n_testnuto \
    -p 5678:5678 \
    -v n8n_testnuto:/home/node/.n8n \
    docker.n8n.io/n8nio/n8n:latest


    • -it: Říká Dockeru, ať spustí kontejner v interaktivním režimu s připojeným terminálem. Jednodušeji řečeno, uvidíte, co se děje.

    • --name n8n_testnuto: Díky tomu se Váš kontejner bude jmenovat „n8n_testnuto“, což usnadňuje jeho identifikaci.

    • -p 5678:5678: Tímto namapujete port 5678 zevnitř kontejneru na port 5678 na Vašem počítači. To je adresa, kde pak n8n najdete.

    • -v n8n_testnuto:/home/node/.n8n: Toto je naprostý klíč k persistenci dat. Mapujeme pojmenovaný svazek n8n_data na konkrétní adresář v kontejneru, kam n8n ukládá všechny své věci a pracovní postupy, přihlašovací údaje, databázi. Díky tomu Vaše data zůstanou bezpečně uložena, i když kontejner restartujete nebo vypnete celý systém. Prostě se Vám nic neztratí.

    • docker.n8n.io/n8nio/n8n:latest: To je adresa oficiálního Docker obrazu, ze kterého se n8n stáhne a spustí. Vždy budete mít tu nejnovější stabilní verzi.


    Pokud chcete kontejner po použití smazat upravte první řádek na: docker run -it –rm. Případně smažte kontejner přímo v aplikaci Docker Dektop.

  4. Po spuštění příkazu se Docker postará o stažení obrazu n8n (jestli ho už nemáte) a hned spustí kontejner. V terminálu byste měli vidět různé výstupy, které signalizují, že se n8n rozbíhá.
  5. A teď ta třešnička na dortu. Jak na přístup k n8n! Otevřete svůj oblíbený webový prohlížeč a zamiřte na adresu http://localhost:5678. A je to!
n8n agent
Ukázka n8n agenta

Mohlo by vás zajímat

Chcete AI bez limitů a cenzury, jediná cesta je lokální AI na vlastním hardwaru.

Metoda 2: Docker Compose – pro ty, kteří to myslí s automatizací vážně (a napořád!)

Pokud plánujete n8n používat dlouhodobě a ne jen na jednorázové testy, pak je Docker Compose ta pravá volba. Díky němu můžete definovat celou řadu věcí. Od více služeb po různé systémové proměnné, vše krásně pohromadě v jednom souboru. Správa je pak mnohem jednodušší. Navíc se kontejner automaticky restartuje, kdyby něco selhalo nebo po restartu Vašeho počítače.

  1. Vytvořte si nový adresář. Třeba mkdir n8n-local. Bude to takové útočiště pro Vaši n8n instalaci.
  2. A hned se do něj přesuňte pomocí příkazu cd n8n-local.
  3. Teď přijde na řadu soubor docker-compose.yml. Otevřete si jakýkoli textový editor (třeba VS Code, Sublime Text nebo klasický Poznámkový blok) a vložte do něj následující obsah. Uložte ho přímo do nově vytvořeného adresáře pod názvem docker-compose.yml:
    version: '3.8'

    services:
    n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: always
    ports:
    - "5678:5678"
    volumes:
    - n8n_data:/home/node/.n8n
    environment:
    - N8N_HOST=localhost
    - N8N_PORT=5678
    - N8N_PROTOCOL=http
    - NODE_ENV=production
    - WEBHOOK_URL=http://localhost:5678/
    - GENERIC_TIMEZONE=Europe/Prague # Nebo vaše časové pásmo, např. Europe/Berlin
    # Další užitečné proměnné prostředí:
    # - N8N_EDITOR_BASE_URL=http://localhost:5678/
    # - DB_SQLITE_VACUUM_ON_STARTUP=false # Optimalizace databáze
    # - N8N_METRICS_ENABLED=true # Povolí sběr metrik
    # - N8N_BASIC_AUTH_ACTIVE=true # Povolí základní HTTP autentizaci
    # - N8N_BASIC_AUTH_USER=admin # Uživatelské jméno pro autentizaci
    # - N8N_BASIC_AUTH_PASSWORD=your_secure_password # Heslo pro autentizaci
    # Pro spuštění s uživatelem s nižšími privilegii (doporučeno pro bezpečnost)
    # user: "1000:1000" # Příklad: nahraďte ID vašeho uživatele a skupiny

    Pojďme si rychle rozebrat, co všechno v docker-compose.yml nastavujeme:



    • image: docker.n8n.io/n8nio/n8n:latest: Tímhle říkáme, ať se použije nejnovější oficiální obraz n8n. Vždy aktuální verze!

    • restart: always: Tahle vychytávka zajistí, že se Váš n8n kontejner automaticky znova rozede, kdyby náhodou něco spadlo nebo po restartu počítače. Už žádné ruční startování!

    • ports: - "5678:5678": Mapování portů, abyste se k n8n dostali z Vašeho webového prohlížeče. Klasika.

    • volumes: - n8n_data:/home/node/.n8n: Zajišťuje, že Vaše data budou hezky uložená. Používáme k tomu pojmenovaný svazek n8n_data, stejně jako u docker run.

    • environment:: Tady si můžete pohrát s různými proměnnými prostředí a doladit si n8n k dokonalosti. Můžete si nastavit časové pásmo (GENERIC_TIMEZONE) nebo URL pro webhooky (WEBHOOK_URL). Proměnná NODE_ENV=production sice optimalizuje n8n pro výkon, ale mějte na paměti, že to může potlačit některá detailní logování, která by se Vám hodila při hledání chyb. Pro lokální hraní si s http://localhost:5678/ nic nezkazíte. V produkci byste tam samozřejmě dali Vaši reálnou URL.

    • user: "1000:1000": (Volitelné, ale doporučené pro větší bezpečnost) Spustí n8n kontejner pod uživatelem s nižšími oprávněními než root. Konkrétní ID si můžete zjistit třeba příkazem id -u a id -g na Linuxu nebo macOS.


    Díky souboru docker-compose.yml se implicitně vytvoří i ten pojmenovaný svazek n8n_data, pokud už ho nemáte.


  4. Hurá, spouštíme n8n s Docker Compose!

    V terminálu (pořád byste měli být v tom adresáři, kde máte docker-compose.yml) stačí zadat:

    docker compose up -d
    • up: Tohle spustí všechny služby, které máte definované ve svém docker-compose.yml souboru.
    • -d: A tohle je kouzelné písmenko, které zajistí, že se služby spustí v takzvaném „detached“ režimu. To znamená na pozadí, takže Vám terminál zůstane volný pro další práci.
  5. Jakmile se to dokončí, n8n by mělo vesele běžet. Stav kontejneru si můžete ověřit příkazem docker ps.
  6. A teď se k němu připojíme! Otevřete si prohlížeč a zadejte http://localhost:5678. Vítejte ve světě automatizace!

Musím se přiznat, že když jsem s n8n začínal, byl jsem nadšený. Ty možnosti, co to nabízí, jsou prostě obrovské! Od jednoduchých věcí, jako je automatické ukládání příloh z e-mailů do cloudu, až po složité integrace s databázemi a API. Díky lokálnímu spuštění s Dockerem jsem se navíc nemusel vůbec bát, že bych něco rozbil nebo že bych hned musel platit. Je to skvělý způsob, jak si osahat svět automatizace a zjistit, co všechno pro Vás může udělat. Věřte mi, jakmile si vytvoříte první fungující workflow, už nebudete chtít přestat!

Jen si dejte pozor, je to docela návykové. Zjistíte, kolik času a energie Vám ušetří, a najednou budete chtít automatizovat úplně všechno.

První spuštění a co dál? Nastavujeme n8n!

Vítejte v n8n: První přihlášení a nastavení Vašeho účtu

Jakmile se poprvé dostanete na http://localhost:5678, systém Vás vyzve k vytvoření administrátorského účtu. Je to důležité, tak si vyberte e-mail a silné heslo. Až se přihlásíte, otevře se Vám hlavní rozhraní n8n, kde začne ta pravá zábava. Heslo si samozřejmě zapamatujte.

Rychlokurz uživatelského rozhraní n8n

Seznamte se s rozhraním n8n, ať víte, kde co najít:

  • Workflows: Tady se to všechno děje! Zde si budete vytvářet a spravovat ty úžasné automatizační postupy.
  • Credentials: Místo, kde bezpečně uložíte všechna svá přihlašovací data k různým službám – API klíče, uživatelská jména, hesla. A nebojte se, tyto citlivé údaje jsou šifrované a v bezpečí ve Vašem persistentním svazku.
  • Settings: Globální nastavení n8n. Můžete si tu doladit například časové pásmo nebo nastavit logování.

Jak si s n8n kontejnerem poradit? (Start, stop, update)

Když si chcete dát pauzu: Jak zastavit n8n

  • Pokud používáte docker run (a kontejner Vám stále běží, protože jste ho nespustili s --rm):
    docker stop n8n_testnuto

    Kdybyste ho, ale spustili s --rm, kontejner by se po zastavení smazal sám. Jinak ho můžete po zastavení ručně odstranit příkazem docker rm n8n_testnuto.


  • Pro využití docker compose:
    docker compose down

    Tento příkaz chytře zastaví a odstraní všechny kontejnery definované ve Vašem docker-compose.yml souboru. Ale nebojte se, Vaše data zůstanou v bezpečí, protože máme ten persistentní svazek!


Zpátky do hry: Jak spustit n8n (když už je zastavené)

  • Pokud jedete přes docker run:
    • Pokud kontejner stále existuje, použijte: docker start -it n8n_testnuto
    • Pokud kontejner neexistuje (byl smazán příkazem –rm), zopakujte původní příkaz docker run ...
  • Pro uživatele docker compose:
    docker compose up -dA je to! Kontejnery se znovu nastartují a Vaše data budou opět připravena k práci.

Udržujte n8n svěží: Jak na aktualizace!

Aktualizace n8n na nejnovější verzi je s Dockerem fakt jednoduchá záležitost. A je to důležité, nezapomínejte na to! Pravidelné aktualizace přinášejí bezpečnostní záplaty, vylepšení výkonu a hlavně zajišťují kompatibilitu s novými službami.

  1. Nejprve zastavte běžící n8n kontejner:
    • Pokud máte docker run
      • Zastavte kontejner docker stop n8n_testnuto
      • Pokud nepoužíváte příkaz „--rm“ kontejner odstraňte: docker rm n8n_testnuto
      • Pokud používáte docker compose: docker compose down
  2. Stáhněte si nejnovější obraz Dockeru:
    docker pull docker.n8n.io/n8nio/n8n:latest
  3. Spusťte n8n znovu pomocí stejného příkazu docker run nebo docker compose up -d, jako jste použili při původní instalaci. N8n se rozjede s novou verzí, ale použije Vaše stávající data ze svazku. Žádné starosti!

Občas se něco zadrhne: Řešení běžných problémů a pár tipů navíc

Chyba jako hrom: „Adresa je již používána“ (Port conflict)

Když se Vám objeví chybová hláška „Port 5678 already in use“, znamená to jediné: někdo (jiná aplikace nebo třeba další instance n8n) už tenhle port prostě obsadil. Nezoufejte, to se stává!

  • Řešení je naštěstí snadné: Jednoduše změňte mapování portu. Ať už v příkazu docker run (například -p 5679:5678) nebo v souboru docker-compose.yml (tam to bude vypadat takto: ports: - "5679:5678"). Pak už jen přistupujte k n8n na nové adrese, tedy http://localhost:5679.

Kde jsou moje data?! Problémy s persistencí (aneb data se mi ztrácejí po restartu)

Tohle je častý problém, když se nesprávně nastaví ukládání dat. Ujistěte se, že používáte správně volbu -v v příkazu docker run nebo sekci volumes v docker-compose.yml. A hlavně, že cesta k Vašemu lokálnímu svazku (například n8n_data) je správně namapována na cestu /home/node/.n8n uvnitř kontejneru. Je taky klíčové, aby uživatel kontejneru měl dostatečná práva k zápisu do tohoto svazku.

  • Co s tím? Zkontrolujte, jestli svazek n8n_data opravdu existuje a jestli v něm najdete soubor database.sqlite (pokud používáte výchozí SQLite databázi). Můžete se dokonce připojit přímo do běžícího kontejneru a ověřit, zda se soubory skutečně ukládají tam, kam mají.

N8n se nechce rozjet nebo plive chyby do logu?

Když se n8n nechová podle představ a nespustí se, nebo na Vás chrlí divné zprávy, první pomoc hledejte v logách kontejneru. Tam najdete detailnější informace o tom, co se vlastně děje.

  • Když máte docker run: Logy uvidíte přímo v terminálu, ze kterého jste n8n spustili.
  • Když používáte docker compose: Zadejte příkaz docker compose logs n8n a veškerá moudra se Vám objeví.
  • Co bývá nejčastěji na vině? Občas je to nedostatek paměti (Docker Desktop má nastavitelný limit RAM). Jinak to mohou být chybějící oprávnění k adresáři svazku nebo vzácně nekompatibilní verze Node.js (i když Docker tohle díky izolaci obvykle skvěle vyřeší). Pokud uvidíte chybu „EACCES: permission denied, open ‚/home/node/.n8n/config'“, je to jasný signál problémů s oprávněními ke svazku.

A co bezpečnost? Jak vylepšit lokální instalaci?

Když n8n běží jen u Vás na počítači a není vystaveno internetu, riziko je samozřejmě nižší. Přesto je dobré myslet na pár věcí:

  • Nespouštějte n8n jako root: Jak už jsme si ukázali v docker-compose.yml, můžete použít volbu user: "1000:1000". To je mnohem bezpečnější přístup.
  • Přidejte základní HTTP autentizaci: Pro jednoduchou ochranu přístupu do uživatelského rozhraní n8n si nastavte tyto proměnné prostředí v docker-compose.yml: N8N_BASIC_AUTH_ACTIVE=true, N8N_BASIC_AUTH_USER a N8N_BASIC_AUTH_PASSWORD. Vytvoříte si tak jednoduché uživatelské jméno a heslo pro přístup.

Často kladené otázky (FAQ)

Jde n8n rozjet lokálně i bez Dockeru?

Ano, samozřejmě, je to možné! N8n se dá nainstalovat přímo na Váš systém pomocí npm (Node Package Manager) s Node.js. Ale buďme upřímní, Docker je zkrátka pohodlnější a je obecně doporučován. Usnadňuje správu závislostí, nabízí skvělou izolaci a je super pro přenositelnost, což oceníte hlavně u produkčních nastavení.

Chci, aby n8n běželo na jiném portu. Jak na to?

To je jednoduché! Port změníte v parametru -p, pokud používáte docker run (například -p 8080:5678). Nebo v sekci ports ve Vašem docker-compose.yml souboru (třeba - "8080:5678"). Pak už jen n8n najdete na nové adrese, například http://localhost:8080.

Co když se mi n8n zalíbí a budu ho chtít přesunout z lokálu do cloudu?

To je skvělá otázka! Jelikož n8n chytře ukládá všechna svá data do svazku, můžete si tento svazek jednoduše zálohovat. A pak ho použít, až budete n8n nasazovat na nějaký cloudový server, ať už je to AWS EC2 nebo třeba DigitalOcean Droplet, samozřejmě opět s Dockerem. Některé cloudové platformy, jako Oracle Cloud Free Tier nebo AWS Free Tier, sice nabízejí úvodní bezplatné úrovně, které teoreticky lze s omezenou funkčností a pečlivým monitorováním využít pro spuštění n8n. Ale pozor! Je naprosto klíčové si uvědomit, že tyto bezplatné úrovně mají opravdu přísné limity. A když je překročíte, může to rychle vést k neočekávaným a docela tučným účtům! Kromě toho, přechod do cloudu vyžaduje solidní technické znalosti správy serverů a kontejnerů. Takže s rozmyslem, prosím!

Chci si do n8n přidat vlastní Node.js moduly. Jde to?

Pokud se chcete pustit do pokročilejšího hraní a přidat si do n8n vlastní Node.js moduly, budete muset obvykle vytvořit svůj vlastní Dockerfile. Ten bude vycházet z oficiálního obrazu n8n a přidá do něj Vaše moduly. Potom nezapomeňte povolit externí moduly pomocí proměnné prostředí NODE_FUNCTION_ALLOW_EXTERNAL.

Je lokální instalace n8n opravdu bezpečná pro citlivá data?

Když n8n běží jen u Vás lokálně a není přístupné zvenčí internetem, je to poměrně bezpečné. Všechna citlivá data – přihlašovací údaje (credentials) i data z Vašich workflow – zůstanou pěkně na Vašem počítači. Ale prosím, vždycky dbejte na silná hesla a celkové zabezpečení Vašeho operačního systému! Kdybyste potřebovali, aby Vaše lokální n8n instance komunikovala s externími službami (třeba přes webhooky), můžete sice použít funkci „tunnel“, ale ta je určená jen pro vývoj a testování. Pro produkční prostředí je to kvůli bezpečnostním rizikům naprosto nevhodné, na to si dejte velký pozor!

Diskuze

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *