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'23services:4 n8n:5 image: docker.n8n.io/n8nio/n8n:latest6 restart: unless-stopped7 ports:8 - "127.0.0.1:5678:5678"9 environment:10 - N8N_HOST=${N8N_DOMAIN}11 - N8N_PORT=567812 - N8N_PROTOCOL=https13 - N8N_EDITOR_BASE_URL=https://${N8N_DOMAIN}/14 - N8N_WEBHOOK_URL=https://${N8N_DOMAIN}/15 - TZ=${TZ}16 volumes:17 - n8n_data:/home/node/.n8n18 - ./local-files:/files19 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"2526 traefik:27 image: traefik:latest28 restart: unless-stopped29 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:/letsencrypt4445volumes:46 n8n_data:47 traefik_data:
Plik .env (utwórz w tym samym katalogu):
1N8N_DOMAIN=n8n.example.com2ACME_EMAIL=admin@example.com3TZ=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