SiteFlow
Wszystkie wpisy
AUTOMATYZACJE I AI20 września 2026 · aktualizacja 26 października 2026 · 4 min

n8n w Dockerze: instalacja na serwerze z Docker Compose, HTTPS i kopią zapasową

Instalacja n8n w Dockerze według dokumentacji: Docker Compose, Traefik i HTTPS, baza danych, klucz szyfrowania, aktualizacje i kopia zapasowa.

n8n w Dockerze uruchomisz jedną komendą i po minucie edytor działa pod adresem localhost:5678. To wystarcza do nauki na własnym komputerze. Instalacja na serwerze dla firmy to inna sprawa: potrzebna jest domena z certyfikatem HTTPS, trwałe miejsce na dane, kopia zapasowa i plan aktualizacji. Dokumentacja n8n wprost zaleca do tego Docker Compose, a samą komendę docker run oznacza jako sposób przestarzały. Poniżej przechodzę przez instalację według zaleceń producenta i rzeczy, które najczęściej pomija się na starcie.

Przed instalacją n8n w Dockerze

  • Serwer z Linuksem z zainstalowanym Docker Engine i Docker Compose.
  • Rekord DNS typu A dla subdomeny, np. n8n.twojafirma.pl, wskazujący na adres IP serwera.
  • Otwarte porty 80 i 443 dla serwera pośredniczącego, który wystawi certyfikat.
  • Doświadczenie z samodzielnym hostingiem. Dokumentacja n8n mówi wprost, że mniej doświadczonym osobom poleca wersję w chmurze.

Zalecana konfiguracja: Docker Compose z Traefikiem

Przykładowa konfiguracja z dokumentacji ma dwie usługi. Traefik to serwer pośredniczący, który sam uzyskuje certyfikat TLS przez ACME i przekierowuje ruch z HTTP na HTTPS. n8n działa za nim, a jego port 5678 jest przypięty tylko do adresu lokalnego 127.0.0.1, więc nie da się do niego dojść z internetu z pominięciem Traefika. Ustawienia trzyma się w pliku .env: domena, subdomena, strefa czasowa i adres e-mail do certyfikatu.

Najważniejsze ustawienia z pliku .env
ZmiennaDo czego służy
DomenaDOMAIN_NAME i SUBDOMAINAdres, pod którym działa edytor i webhooki
Strefa czasowaGENERIC_TIMEZONEHarmonogramy i węzły czasowe, bez niej domyślnie Nowy Jork
CertyfikatSSL_EMAILAdres e-mail używany przy wystawianiu certyfikatu

Konfiguracja z dokumentacji włącza też panel Traefika bez uwierzytelnienia. Przed wystawieniem serwera do internetu warto to wyłączyć albo zabezpieczyć. To jeden z tych szczegółów, które w przykładzie są dla wygody, a na produkcji stają się luką.

Dane, baza i klucz szyfrowania

Domyślnie n8n zapisuje workflowy, dane logowania do aplikacji i historię wykonań w bazie SQLite w wolumenie montowanym jako katalog /home/node/.n8n. W tym samym katalogu jest klucz szyfrowania, którym n8n szyfruje zapisane hasła i tokeny. Utrata wolumenu albo samego klucza oznacza, że po odtworzeniu workflowów trzeba od nowa podłączyć wszystkie konta. Przy większym ruchu albo kilku instancjach zamiast SQLite używa się PostgreSQL, ustawiając zmienną DB_TYPE na postgresdb i dane dostępu do bazy.

Kopia zapasowa n8n, która naprawdę działa
  1. 1

    Wolumen z danymi

    Regularna kopia wolumenu n8n_data albo bazy PostgreSQL, przechowywana poza serwerem.

  2. 2

    Klucz szyfrowania osobno

    Klucz zapisany w bezpiecznym miejscu, bo bez niego kopia danych logowania jest bezużyteczna.

  3. 3

    Próba odtworzenia

    Raz na jakiś czas odtworzenie kopii na drugim serwerze, żeby wiedzieć, że kopia działa.

Aktualizacje n8n w Dockerze

Przy Docker Compose aktualizacja to trzy kroki: pobranie nowego obrazu (docker compose pull), zatrzymanie kontenerów i ponowne uruchomienie (docker compose down, potem up -d). Przed aktualizacją do nowej wersji głównej warto przeczytać informacje o zmianach, bo zdarzają się zmiany wymagające poprawek w workflowach. Przykład z dokumentacji: od wersji 2.0 zmienna N8N_RUNNERS_ENABLED nie jest już potrzebna. Kopia zapasowa przed aktualizacją to obowiązek, nie dodatek.

Bezpieczeństwo instancji n8n

  • Dostęp do edytora tylko dla osób, które budują workflowy, z silnymi hasłami.
  • Ograniczenie dostępu do plików z poziomu workflowów do jednego katalogu, jak w konfiguracji z dokumentacji.
  • Webhooki przyjmujące dane z internetu zabezpieczone tokenem albo podpisem, a nie tylko trudnym adresem.
  • Aktualny system serwera i Docker, bo n8n przechowuje dostęp do wielu firmowych kont naraz.

n8n z dostępem do CRM, poczty i sklepu jest dla atakującego cenniejszy niż pojedyncza aplikacja. Szersze zasady bezpieczeństwa opisuję w tekście o bezpieczeństwie aplikacji webowych, a podstawy n8n w tekście n8n co to jest. Jeśli dopiero się uczysz, zacznij od tekstu kurs n8n.

Do nauki na własnym komputerze wystarczy uproszczony wariant: utworzenie wolumenu na dane i uruchomienie kontenera z obrazem n8n i portem 5678. Taka instalacja nie nadaje się jednak do przyjmowania webhooków z internetu ani do pracy na danych firmy, bo nie ma HTTPS ani kopii zapasowej.

Źródła: n8n: instalacja z Docker Compose i n8n: instalacja w Dockerze.

›Na jakim porcie działa n8n w Dockerze?

Domyślnie na porcie 5678. Na serwerze port powinien być dostępny tylko lokalnie, a ruch z internetu przechodzić przez serwer pośredniczący z HTTPS.

›Czy n8n w Dockerze wymaga PostgreSQL?

Nie, domyślnie używa SQLite. PostgreSQL ma sens przy większym ruchu, dłuższej historii wykonań albo kilku instancjach.

›Co się stanie, jeśli zgubię klucz szyfrowania n8n?

Workflowy odtworzysz z kopii, ale zapisanych danych logowania do aplikacji nie da się odszyfrować. Wszystkie konta trzeba będzie podłączyć od nowa.

›Czy mogę zainstalować n8n na hostingu współdzielonym?

Zwykle nie, bo potrzebny jest Docker albo Node.js z dostępem do serwera. Lepszy jest serwer VPS albo wdrożenie zlecone, opisane w usłudze automatyzacja procesów.

Chcesz przegadać swój projekt?

Odpowiadam osobiście w ciągu 24h w dni robocze — bez handlowca po drodze.