15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
03.04.2026

Tutorial automatyzacji N8N dla Ubuntu – Od zera do przepływu

Spis treści

Słowa kluczowe

TerminSzybka definicja
🚀 N8NWizualna, oparta na węzłach platforma automatyzacji workflow do łączenia różnych zewnętrznych usług.
🐳 DockerNarzędzie do konteneryzacji umożliwiające spójną, izolowaną wdrożenie i zarządzanie aplikacjami.
🐘 PostgreSQLSolidna relacyjna baza danych służąca jako główny, trwały magazyn danych dla N8N.
🧩 NodePojedynczy blok funkcjonalny w N8N (np. wyzwalacz danych lub akcja API), który wykonuje określone zadanie.
🔄 WorkflowSkonfigurowany proces automatyczny zbudowany poprzez połączenie wielu węzłów w celu obsługi sekwencji zadań.
💾 Docker VolumeWyznaczony mechanizm przechowywania w Dockerze używany do trwałego zapisywania danych systemowych poza kontenerami.
🔐 Environment VariableBezpieczne wartości konfiguracyjne (przechowywane w pliku .env) bezpiecznie wstrzykiwane do kontenerów Docker.

Dlaczego automatyzacja ma znaczenie

Automatyzacja

Nowoczesne zespoły nie „uruchamiają jednej aplikacji” — obsługują łańcuch narzędzi SaaS, usług wewnętrznych, magazynów danych oraz systemów czatu/powiadomień. Koszt tej złożoności objawia się w przewidywalny sposób:

  • Ręczne przekazywanie i powtarzająca się praca (kopiowanie/wklejanie między systemami)
  • Wolne pętle odpowiedzi (zatwierdzenia, kierowanie zgłoszeń, powiadomienia o incydentach)
  • Niespójne wyniki (błąd ludzki, pominięte kroki, częściowe aktualizacje)
  • Kruche integracje (jednorazowe skrypty bez widoczności lub własności)

Automatyzacja jest jednym z najwyższych sposobów na zmniejszenie tego tarcia. Nawet małe workflow — synchronizacja danych, walidacja ładunków, publikowanie powiadomień, aktualizacja rekordów — mogą skumulować się w znaczące zyski: szybszy czas cyklu, mniej błędów i bardziej spójne operacje. Ważne jest, że „automatyzacja” nie dotyczy tylko zmniejszenia wysiłku; chodzi również o uczynienie procesów obserwowalnymi i powtarzalnymi.

Ten raport podchodzi do automatyzacji jak do infrastruktury produkcyjnej: wdrażaj ją czysto, kontroluj konfigurację, utrzymuj dane w trwałości i weryfikuj zachowanie za pomocą deterministycznego workflow testowego.

Czym jest N8N (i dlaczego może stać się twoim najlepszym przyjacielem)

N8N

N8N to platforma automatyzacji workflow, która pozwala łączyć usługi za pomocą edytora opartego na węzłach. Tworzysz workflow z „węzłów” (wyzwalaczy, transformacji danych, wywołań API, operacji na bazach danych, powiadomień), a następnie wykonujesz je ręcznie, według harmonogramu lub za pomocą webhooków.

Co sprawia, że n8n jest szczególnie przydatne w kontekście wdrożenia na Linuxie:

  • Możliwość samodzielnego hostowania: możesz uruchomić go na własnej infrastrukturze, aby mieć kontrolę nad danymi i siecią.
  • Rozszerzalne integracje: wiele wbudowanych węzłów, plus ogólne węzły HTTP dla wszystkiego, co ma API.
  • Przyjazne dla operacji: dobrze działa w kontenerach, może używać Postgresa do trwałości i wspiera konfigurację opartą na środowisku.
  • Dobre dla stopniowego przyjęcia: zacznij od prostych workflow, a następnie wzmocnij dostęp (odwrócony proxy + HTTPS) i praktyki operacyjne w miarę wzrostu użycia.

W tej ocenie n8n traktowane jest jak usługa, którą możesz faktycznie uruchomić: wybory wdrożeniowe i konfiguracja są dokumentowane z nastawieniem na jasność, powtarzalność i „przyszłą twardość” (bez nadmiernego inżynierowania początkowej konfiguracji).

Samodzielne hostowanie własnej instancji N8N

Gotowy do spróbowania? Konfiguracja wymaga kilku technicznych kroków, ale nie martw się — postępuj zgodnie z tym przewodnikiem, a wkrótce będziesz miał swoją pierwszą instancję N8N uruchomioną.

Ten samouczek używa Ubuntu 22.04, działającego na VPS dostarczonym przez AlexHost.

Konfiguracja Dockera

Istnieje kilka sposobów na skonfigurowanie n8n. W tym samouczku używamy Dockera, ponieważ zapewnia on jasne i niezawodne podejście do zarządzania i konfigurowania n8n.

Najpierw upewnij się, że docker i docker compose są zainstalowane na twoim systemie.

# Check for docker
docker -v

# Check for docker compose
docker compose

Jeśli to zwraca wersję, jesteś gotowy.

Jeśli nie masz go zainstalowanego, po prostu postępuj zgodnie z tą stroną, aby uzyskać instrukcje: przewodnik instalacji. Upewnij się, że wybierasz odpowiedni system operacyjny, którego używasz.

Struktura projektu

Odpowiednia organizacja plików jest niezbędna dla jasności i długoterminowej utrzymywaności. Zgodnie z konwencją usługi Docker są zazwyczaj umieszczane w katalogu /opt. W jego obrębie stworzono folder docker_services, aby przechować wszystkie usługi, w tym N8N.

# Create all the needed folders
sudo mkdir -p /opt/docker_services/n8n

# Navigate to n8n folder
cd /opt/stacks/n8n

Dodawanie pliku docker compose

Aby uruchomić naszą instancję n8n i jej bazę danych, użyjemy pliku compose.yaml. Wybieramy PostgreSQL zamiast domyślnego SQLite, ponieważ zapewnia znacznie bardziej solidny i gotowy do produkcji magazyn danych dla konfiguracji i logów wykonania.

Utwórz plik za pomocą edytora tekstu, takiego jak nano:

nano compose.yaml

Wklej następującą konfigurację do pliku:

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    env_file:
      - .env
    volumes:
      - ./data:/home/node/.n8n
      - ./files:/files
    depends_on:
      - postgres

  postgres:
    image: postgres:15
    restart: always
    env_file:
      - .env
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

Zrozumienie konfiguracji:

KomponentOpis
UsługiUruchamia dwa kontenery: n8n (główna aplikacja) i postgres:15. Użycie Postgresa jest zdecydowanie preferowane w porównaniu do domyślnego SQLite. n8n natywnie zależy od niego, aby uruchomić się jako pierwszy.
Polityka ponownego uruchamianiaUżywa restart: always, aby kontenery automatycznie uruchamiały się ponownie przy uruchomieniu systemu lub jeśli się zawieszą.
PortyOtwiera port 5678, aby można było uzyskać dostęp do interfejsu internetowego n8n.
ŚrodowiskoObie usługi ładują konfigurację z wspólnego pliku .env, aby bezpiecznie obsługiwać zmienne, takie jak dane uwierzytelniające DB.
WolumenyMapuje lokalne katalogi hosta do ścieżek kontenera, aby zachować dane w trwałości:
./data → konfiguracje n8n (/home/node/.n8n)
./files → przechowywanie plików (/files)
./postgres-data → Baza danych (/var/lib/postgresql/data)

Przed uruchomieniem kontenerów musisz wyraźnie utworzyć niezbędne katalogi, aby były gotowe do mapowania:

# Use your own path if different
cd /opt/docker_services/n8n

mkdir data files postgres-data

Własność i uprawnienia katalogów

Domyślnie, gdy Docker automatycznie tworzy katalogi hosta dla twoich wolumenów (takich jak nasze data i files), przypisuje własność użytkownikowi root. Jednak z powodów bezpieczeństwa kontener n8n celowo zrzuca uprawnienia i działa jako użytkownik nie-root (konkretnie, UID 1000).

Jeśli te foldery pozostaną własnością roota, n8n nie będzie w stanie zapisać swojej konfiguracji ani plików bazy danych, co spowoduje awarię kontenera przy uruchomieniu z błędem ‘odmowa dostępu’. Aby zapobiec temu tarciu, wyraźnie przyznajemy własność tych katalogów odpowiedniemu użytkownikowi przed uruchomieniem usługi.

# Set ownership of the volume directories to UID/GID 1000
sudo chown -R 1000:1000 data files

Dodawanie pliku .env

Docker używa pliku .env do przekazywania konfiguracji systemowych i sekretów do naszych kontenerów bez twardego kodowania ich w naszych compose.yaml.

Utwórz plik w tym samym katalogu:

nano .env

Wklej następującą konfigurację (upewnij się, że zastępujesz example.com i hasło bazy danych swoimi własnymi bezpiecznymi wartościami):

# n8n Settings
DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Chisinau
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.example.com/
N8N_SECURE_COOKIE=false
NODE_ENV=production


# PostgreSQL
POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=changeme123

Zrozumienie zmiennych środowiskowych:

ZmiennaOpis
Domena i hostDefiniuje DOMAIN_NAME, SUBDOMAIN i N8N_HOST. Są one niezbędne do mapowania aplikacji n8n do konkretnego adresu URL (takiego jak n8n.example.com), umożliwiając zewnętrzny dostęp przez DNS.
Strefa czasowaGENERIC_TIMEZONE ustawia strefę czasową specjalnie dla procesu aplikacji Node.js, aby harmonogram i znaczniki czasu logów były dokładne dla twojego regionu.
Protokół i webhookN8N_PROTOCOL i WEBHOOK_URL konfiguruje, jak n8n wchodzi w interakcję ze światem zewnętrznym. To jest kluczowe, jeśli integrujesz usługi, które wymagają adresu URL zwrotnego.
Bezpieczne ciasteczkoN8N_SECURE_COOKIE jest ustawione na false, ponieważ działamy bez lokalnego odwróconego proxy HTTPS domyślnie. Jeśli skonfigurujesz SSL/HTTPS później przez zewnętrzny proxy, możesz usunąć tę linię, aby domyślnie ustawiło się na true.
Środowisko węzłaNODE_ENV musi być ściśle ustawione na production. To optymalizuje działanie serwera Node.js pod kątem wydajności, a nie debugowania, niezależnie od rzeczywistych etapów wdrożenia.
Dane uwierzytelniające bazy danychPOSTGRES_DB, USER i PASSWORD są używane przy pierwszym uruchomieniu do utworzenia bazy danych PostgreSQL i uwierzytelnienia kolejnych połączeń. Zawsze używaj silnych, niestandardowych haseł tutaj.

Zapisz i zamknij plik. Teraz masz wszystkie niezbędne konfiguracje do uruchomienia swojego stosu Docker Compose.

Uruchamianie usług dockera

Przejdź do katalogu swojego projektu i uruchom wszystkie usługi w tle.

# Use your own path if different
cd /opt/docker_services/n8n

docker compose up -d

Docker pobiera niezbędne obrazy i uruchamia twoje kontenery. Po uruchomieniu n8n będzie dostępne na porcie 5678 (domyślnym) lub na twojej skonfigurowanej domenie, jeśli używasz odwróconego proxy.

Aby potwierdzić, że działa poprawnie, sprawdź, czy kontenery n8n i postgres są wymienione i działają.

docker ps

Praca z N8N

Gdy usługi działają pomyślnie, nadszedł czas, aby zacząć odkrywać N8N!

Dostęp do N8N

N8N można uzyskać przez przeglądarkę internetową. W tej lokalnej konfiguracji jest dostępne pod następującym adresem URL: http://localhost:5679.

Przy pierwszym dostępie pojawia się strona logowania z typowymi polami do wypełnienia.

Strona logowania

Ustawienie klucza licencyjnego

Początkowo N8N wyświetla okno oferujące darmowy klucz licencyjny, który odblokowuje płatne funkcje. Tak, dobrze słyszałeś: płatne funkcje za darmo! To jedna z zalet uruchamiania samodzielnie hostowanej instancji N8N.

Klucz licencyjny

Gdy otrzymasz klucz licencyjny w swoim e-mailu, możesz przejść do Ustawienia->Użycie i plan, aby go aktywować.

Aktywacja klucza licencyjnego

Tworzenie pierwszego workflow

Nowe workflow można tworzyć bezpośrednio z głównej strony. Zobacz obrazek poniżej.

Utwórz wf

W przypadku pierwszego przypadku użycia zostaną użyte dwa węzły:

  • Ręczne wyzwolenie: uruchamia workflow ręcznie.
  • Ustaw węzeł: definiuje i pracuje z polami i ich wartościami.

Węzeł Ręczne wyzwolenie nie wymaga konfiguracji, podczas gdy węzeł Ustaw wymaga. W naszym przypadku celem jest wygenerowanie komunikatu stwierdzającego, że ‘n8n działa’ wraz z znacznikiem czasu zdarzenia. Węzeł Ustaw jest zatem skonfigurowany jak pokazano na obrazku poniżej.

Ustaw węzeł

Gdy dwa węzły są połączone i skonfigurowane, uruchamiamy workflow, naciskając przycisk Wykonaj workflow.

Sukces 1
Sukces 2

Gratulacje 👏, twoje pierwsze workflow N8N zostało pomyślnie wykonane!

Co dalej?

Ta początkowa konfiguracja to tylko początek. Prawdziwa moc N8N odblokowuje się, gdy zaczynasz łączyć swoje codzienne narzędzia, aby automatyzować powtarzalne zadania i zmniejszać tarcie. Na przykład możesz tworzyć workflow do automatycznej synchronizacji nowych leadów z twojej strony internetowej do CRM, kierować pilne powiadomienia i krytyczne błędy usług do czatu zespołowego lub okresowo tworzyć kopie zapasowe danych z różnych platform SaaS do swojej bazy danych. Możliwości automatyzacji twoich operacji i uproszczenia codziennego obciążenia roboczego są niemal nieograniczone.

Podsumowanie

Ukończając ten przewodnik, pomyślnie wdrożyłeś potężną, samodzielnie hostowaną platformę zdolną do przekształcenia sposobu zarządzania codziennymi operacjami. Dziękujemy za śledzenie tego ustawienia! Gdy będziesz kontynuować odkrywanie, co N8N może zrobić, koniecznie sprawdź nasze inne samouczki, aby odkryć jeszcze więcej niesamowitych i użytecznych narzędzi. Gdy będziesz gotowy do skalowania lub zagłębiania się w nowe, ekscytujące projekty, pamiętaj, że AlexHost zapewnia całą solidną infrastrukturę, której potrzebujesz, aby niezawodnie hostować swoje usługi.

15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij