macbook-at-night

Autor: Cezary Weżgowiec17 września 2025

Poradnikn8n

Instalacja i self‑hosting n8n - Docker i Docker Compose

Instalacja i self‑hosting n8n

Ten poradnik przeprowadza przez uruchomienie n8n lokalnie lub na serwerze za pomocą Dockera i Docker Compose, wraz z podstawową konfiguracją, TLS oraz strukturą plików i danych.

Dla osób zaczynających rekomendowana jest instalacja w kontenerach ze względu na powtarzalność i prostą aktualizację; wariant chmurowy pozostaje najszybszą ścieżką testów.

Wymagania wstępne

  • Działający Docker Engine/Podman oraz Docker Compose v2 na docelowej maszynie.
  • Porty 80/443 dostępne dla reverse proxy (TLS/Let’s Encrypt) i publicznego dostępu do edytora/API.
  • Domeny/subdomeny skierowane rekordami DNS A/AAAA na serwer (np. n8n.example.com).

Szybki start (Docker run)

Dla testów lokalnych uruchom n8n jedną komendą i zapisz dane w wolumenie:

1docker volume create n8n_data docker run -it --rm --name n8n -p 5678:5678 \
2-v n8n_data:/home/node/.n8n \ docker.n8n.io/n8nio/n8n

Ten tryb mapuje wewnętrzny katalog aplikacji, gdzie przechowywana jest baza SQLite i klucz szyfrowania; przerwanie procesu zatrzymuje kontener.

Wdrożenie produkcyjne (Docker Compose + TLS)

Rekomendowany układ to kontener n8n + reverse proxy (np. Traefik) + trwałe wolumeny na dane i certyfikaty.

Przed startem utwórz katalog współdzielony na pliki (bind mount) i wolumeny na dane aplikacji/certyfikaty.

Przykładowy Compose z dokumentacji:

  • Usługi: n8n, traefik.
  • Volumes: n8n_data -> /home/node/.n8n; traefik_data -> /letsencrypt; bind ./local-files -> /files.
  • Zmienne: domena, subdomena, e‑mail do certyfikatów, strefa czasowa.

Pełna zawartość pliku docker-compose.yml:

1version: '3.8'
2
3services:
4 n8n:
5 image: docker.n8n.io/n8nio/n8n:latest
6 restart: unless-stopped
7 ports:
8 - "127.0.0.1:5678:5678"
9 environment:
10 - N8N_HOST=${N8N_DOMAIN}
11 - N8N_PORT=5678
12 - N8N_PROTOCOL=https
13 - N8N_EDITOR_BASE_URL=https://${N8N_DOMAIN}/
14 - N8N_WEBHOOK_URL=https://${N8N_DOMAIN}/
15 - TZ=${TZ}
16 volumes:
17 - n8n_data:/home/node/.n8n
18 - ./local-files:/files
19 labels:
20 - "traefik.enable=true"
21 - "traefik.http.routers.n8n.rule=Host(`${N8N_DOMAIN}`)"
22 - "traefik.http.routers.n8n.entrypoints=websecure"
23 - "traefik.http.routers.n8n.tls.certresolver=letsencrypt"
24 - "traefik.http.services.n8n.loadbalancer.server.port=5678"
25
26 traefik:
27 image: traefik:latest
28 restart: unless-stopped
29 command:
30 - "--providers.docker=true"
31 - "--providers.docker.exposedbydefault=false"
32 - "--entrypoints.web.address=:80"
33 - "--entrypoints.websecure.address=:443"
34 - "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}"
35 - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
36 - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
37 - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
38 ports:
39 - "80:80"
40 - "443:443"
41 volumes:
42 - "/var/run/docker.sock:/var/run/docker.sock:ro"
43 - traefik_data:/letsencrypt
44
45volumes:
46 n8n_data:
47 traefik_data:

Plik .env (utwórz w tym samym katalogu):

1N8N_DOMAIN=n8n.example.com
2ACME_EMAIL=admin@example.com
3TZ=Europe/Warsaw

Uruchomienie:

docker compose up -d

Po starcie edytor będzie dostępny pod domeną z automatycznym TLS.

Zmienne środowiskowe i konfiguracja

n8n obsługuje rozbudowaną konfigurację przez zmienne środowiskowe oraz warianty z sufiksem _FILE (odczyt z pliku).

Kluczowe obszary: baza danych, wykonywania (queue/main), logowanie, endpoints, bezpieczeństwo (np. ograniczenie dostępu do edytora), timezone i zarządzanie użytkownikami/2FA.

Dane trwałe i lokalne pliki

Domyślnie SQLite i klucz szyfrowania znajdują się w katalogu /home/node/.n8n wewnątrz kontenera i są przeniesione do wolumenu n8n_data.

Katalog ./local-files montowany do /files pozwala węzłom „Read/Write Files from Disk” na bezpieczny dostęp do dysku hosta.

Najczęstsze problemy i wskazówki

  • Błędy zmiennych .env: upewnij się, że wszystkie wymagane zmienne z Compose są ustawione i eksportowane; brakujące parametry powodują ostrzeżenia i błędy startu.
  • HTTPS i ciasteczka Secure: uruchamiaj przez reverse proxy z poprawnym certyfikatem; dostęp przez czysty http i port 5678 generuje problemy z ciasteczkami i logowaniem.
  • Aktualizacje: śledź tagi obrazu n8n i wykonuj rolling update przez docker compose pull + up ‑d; nie używaj „next” w produkcji.
  • Porty zajęte: jeśli 80/443 zajęte przez inny reverse proxy (np. Nginx), skonfiguruj Traefik na inne porty lub użyj istniejącego reverse proxy i wystaw tylko n8n.

Alternatywy wdrożeniowe

Dokumentacja zawiera gotowe „server setups” dla popularnych dostawców (np. DigitalOcean), które automatyzują część kroków i ułatwiają pierwsze uruchomienie.

Dla rozwiązań z komponentami AI dostępny jest starter kit self‑hosted AI, który łączy n8n z modelami i narzędziami pomocniczymi.


Co dalej

  • Praca z danymi i węzłami - mapowanie, transformacje, kontrola przepływu i sub‑workflows.
  • Obsługa błędów i niezawodność - error workflows, retry, alertowanie.
  • AI w n8n - agent, wejście czatu, integracja z modelami.

Warto też sprawdzić gotowe schematy i szablony społeczności, które przyspieszają konfigurację typowych wdrożeń. Odwiedź n8nworkflows.io

Używamy ciasteczek

Używamy ciasteczek, aby zapewnić najlepsze doświadczenia na naszej stronie. Aby uzyskać więcej informacji o tym, jak używamy ciasteczek, zapoznaj się z naszą polityką ciasteczek.

Klikając "Akceptuj", zgadzasz się na nasze wykorzystanie ciasteczek.
Dowiedz się więcej