macbook-at-night

Author: Cezary Weżgowiec17 September 2025

Tutorialn8n

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

We use cookies

We use cookies to ensure the best experience on our website. To learn more about how we use cookies, please review our cookie policy.

By clicking "Accept", you agree to our use of cookies.
Learn more