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
Sekcja
Linux

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

Słowa kluczowe

TerminSzybka definicja
🚀 N8NWizualna, oparta na węzłach platforma automatyzacji przepływów pracy do łączenia różnych usług zewnętrznych.
🐳 DockerNarzędzie konteneryzacji umożliwiające spójne, izolowane wdrażanie 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) wykonujący określone zadanie.
🔄 WorkflowSkonfigurowany zautomatyzowany proces zbudowany przez połączenie wielu węzłów razem w celu obsługi sekwencji zadań.
💾 Docker VolumeWyznaczony mechanizm przechowywania w Docker 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

Automation

Nowoczesne zespoły nie “uruchamiają jednej aplikacji” — operują łańcuchem narzędzi SaaS, usług wewnętrznych, magazynów danych i systemów czatu/alertów. Koszt tej złożoności przejawia się w przewidywalny sposób:

  • Ręczne przekazywanie i powtarzająca się rutyna (kopiowanie/wklejanie między systemami)
  • Powolne pętle odpowiedzi (zatwierdzenia, routing biletów, powiadomienia o incydentach)
  • Niespójne wyniki (błędy człowieka, pominięte kroki, częściowe aktualizacje)
  • Kruche integracje (jednorazowe skrypty bez widoczności lub odpowiedzialności)

Automatyzacja to jeden z najwyższych sposobów na zmniejszenie tego tarcia. Nawet małe przepływy pracy — synchronizacja danych, walidacja ładunków, publikowanie powiadomień, aktualizacja rekordów — mogą przełożyć się na znaczące wyniki: szybszy czas cyklu, mniej błędów i bardziej spójne operacje. Co ważne, “automatyzacja” to nie tylko zmniejszenie wysiłku; to również uczynienie procesów obserwowalnymi i powtarzalnymi.

Ten raport podchodzi do automatyzacji jak do infrastruktury produkcyjnej: wdrażaj ją czyszczenie, kontroluj konfigurację, utrzymuj dane trwałe i weryfikuj zachowanie za pomocą deterministycznego przepływu pracy testowej.

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

N8N

N8N to platforma automatyzacji przepływów pracy, która pozwala łączyć usługi za pomocą edytora opartego na węzłach. Budujesz przepływy pracy z “węzłów” (wyzwalaczy, transformacji danych, wywołań API, operacji na bazach danych, powiadomień), a następnie wykonujesz je ręcznie, zgodnie z harmonogramem lub za pośrednictwem webhooków.

Co czyni n8n szczególnie przydatnym w kontekście wdrażania Linux:

  • Samodzielnie hostowany: możesz uruchomić go na własnej infrastrukturze, aby mieć kontrolę nad danymi i siecią.
  • Rozszerzalne integracje: wiele wbudowanych węzłów, plus generyczne węzły HTTP dla wszystkiego, co ma API.
  • Przyjazny operacyjnie: dobrze działa w kontenerach, może używać Postgres do trwałości i obsługuje konfigurację opartą na zmiennych środowiskowych.
  • Dobry do stopniowego wdrażania: zacznij od prostych przepływów pracy, a następnie wzmocnij dostęp (odwrotny proxy + HTTPS) i praktyki operacyjne w miarę wzrostu użycia.

W tej ocenie n8n jest traktowany jak usługa, którą możesz faktycznie uruchomić: wybory wdrażania i konfiguracja są udokumentowane z tendencją do przejrzystości, powtarzalności i “przyszłego wzmacniania” (bez nadmiernego inżynierowania początkowej konfiguracji).

Samodzielnie hostuj własną instancję N8N

Gotowy do spróbowania? Konfiguracja wymaga kilku kroków technicznych, ale nie martw się — postępuj zgodnie z tym przewodnikiem, a Twoja pierwsza instancja N8N będzie uruchomiona w mgnieniu oka.

Ten samouczek używa Ubuntu 22.04, uruchomionego na VPS dostarczonym przez AlexHost.

Konfiguracja Docker

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

Najpierw upewnij się, że Docker i Docker Compose są zainstalowane w Twoim systemie.

# Check for docker
docker -v

# Check for docker compose
docker compose

Jeśli zwróci wersję, wszystko jest gotowe.

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

Struktura projektu

Prawidłowa organizacja plików jest niezbędna dla przejrzystości i długoterminowej łatwości utrzymania. Zgodnie z konwencją, usługi Docker są zwykle umieszczane w katalogu /opt. W jego obrębie utworzono folder docker_services do przechowywania wszystkich usług, w tym N8N.

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

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

Dodawanie pliku Docker Compose

Aby uruchomić naszą instancję n8n i jej bazę danych zaplecza, będziemy używać pliku compose.yaml. Wybieramy PostgreSQL zamiast domyślnego SQLite, ponieważ zapewnia znacznie bardziej niezawodny i gotowy do produkcji magazyn danych dla konfiguracji i dziennikó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żywanie Postgres jest zdecydowanie preferowane w stosunku do domyślnego SQLite. n8n natywnie zależy od jego uruchomienia w pierwszej kolejności.
Zasada ponownego uruchomieniaUżywa restart: always, aby kontenery automatycznie restartowały się przy uruchomieniu systemu lub w przypadku awarii.
PortyUdostępnia port 5678, aby móc uzyskać dostęp do interfejsu sieciowego n8n.
ŚrodowiskoObie usługi ładują konfigurację ze wspólnego pliku .env, aby bezpiecznie obsługiwać zmienne, takie jak poświadczenia bazy danych.
WolumenyWiąże lokalne katalogi hosta ze ścieżkami kontenera, aby dane pozostały trwałe:
./data → konfiguracje n8n (/home/node/.n8n)
./files → magazyn plików (/files)
./postgres-data → Baza danych (/var/lib/postgresql/data)

Przed uruchomieniem kontenerów musisz jawnie 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ść katalogów i uprawnienia

Domyślnie, gdy Docker automatycznie tworzy katalogi hosta dla Twoich wolumenów (takie jak nasze foldery data i files), przypisuje własność użytkownikowi root. Jednak ze względów bezpieczeństwa kontener n8n celowo rezygnuje z uprawnień i działa jako użytkownik niebędący rootem (konkretnie UID 1000).

Jeśli te foldery pozostają własnością roota, n8n nie będzie w stanie zapisać swoich konfiguracji lub plików bazy danych, powodując awarię kontenera przy uruchomieniu z błędem „odmowa dostępu”. Aby uniknąć tego problemu, jawnie przyznajemy własność tych katalogów właściwemu 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 systemu i tajemnic do naszych kontenerów bez kodowania ich na stałe w naszym compose.yaml.

Utwórz plik w tym samym katalogu:

nano .env

Wklej następującą konfigurację (upewnij się, że zastąpiłeś example.com i hasło bazy danych 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 na określony adres URL (taki jak n8n.example.com), umożliwiając dostęp zewnętrzny za pośrednictwem DNS.
Strefa czasowaGENERIC_TIMEZONE ustawia strefę czasową specjalnie dla procesu aplikacji Node.js, dzięki czemu harmonogramy i sygnatury czasowe dzienników są dokładne dla Twojego regionu.
Protokoły i webhookN8N_PROTOCOL i WEBHOOK_URL konfigurują sposób, w jaki n8n wchodzi w interakcję ze światem zewnętrznym. Jest to kluczowe, jeśli integrujesz usługi, które wymagają adresu URL wywołania zwrotnego.
Bezpieczny plik cookieN8N_SECURE_COOKIE jest ustawiony na false, ponieważ domyślnie uruchamiamy się bez odwrotnego serwera proxy HTTPS lokalnie. Jeśli później skonfigurujesz SSL/HTTPS za pośrednictwem zewnętrznego serwera proxy, możesz usunąć tę linię, aby domyślnie ustawiła się na true.
Środowisko węzłaNODE_ENV musi być ściśle ustawiony na production. Optymalizuje to podstawowy serwer Node.js pod kątem wydajności, a nie debugowania, niezależnie od rzeczywistych etapów wdrażania.
Poświadczenia 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 tutaj silnych niestandardowych haseł.

Zapisz i zamknij plik. Masz teraz całą niezbędną konfigurację do uruchomienia stosu Docker Compose.

Uruchamianie usług Docker

Przejdź do katalogu 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ępny na porcie 5678 (domyślnie) lub na skonfigurowanej domenie, jeśli używasz odwrotnego serwera proxy.

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

docker ps

Praca z N8N

Po pomyślnym uruchomieniu usług wreszcie przychodzi ekscytujący czas, aby zacząć eksplorować N8N!

Dostęp do N8N

N8N można uzyskać za pośrednictwem przeglądarki internetowej. W tej lokalnej konfiguracji jest dostępny pod następującym adresem URL: http://localhost:5678.

Przy pierwszym dostępie pojawia się strona logowania ze wspólnymi polami do wypełnienia.

Login page

Konfiguracja klucza licencji

Początkowo N8N wyświetla okno oferujące bezpłatny klucz licencji, 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.

License key

Po otrzymaniu klucza licencji w wiadomości e-mail możesz przejść do Ustawienia->Użycie i plan, aby go aktywować.

License key activate

Tworzenie pierwszego przepływu pracy

Nowe przepływy pracy można tworzyć bezpośrednio ze strony głównej. Patrz obraz poniżej.

Create wf

Do pierwszego przypadku użycia będą użyte dwa węzły:

  • Manual Trigger: uruchamia przepływ pracy ręcznie.
  • Set Node: definiuje i pracuje z polami i ich wartościami.

Węzeł Manual Trigger nie wymaga konfiguracji, natomiast węzeł Set tak. W naszym przypadku celem jest wyświetlenie wiadomości stwierdzającej „n8n works” wraz z sygnaturą czasową zdarzenia. Węzeł Set jest zatem konfigurowany jak pokazano na poniższym obrazie.

Set node

Po połączeniu i skonfigurowaniu dwóch węzłów uruchamiamy przepływ pracy, naciskając przycisk Execute workflow.

Success 1
Success 2

Gratulacje 👏, Twój pierwszy przepływ pracy N8N został pomyślnie wykonany!

Co dalej?

Ta początkowa konfiguracja to dopiero początek. Prawdziwa moc N8N uwalnia się, gdy zaczniesz łączyć swoje codzienne narzędzia, aby zautomatyzować powtarzające się zadania i zmniejszyć tarcie. Na przykład możesz tworzyć przepływy pracy, aby automatycznie synchronizować nowych potencjalnych klientów z Twojej strony internetowej do CRM, kierować pilne alerty i krytyczne błędy usług do czatu zespołu lub okresowo wykonywać kopie zapasowe danych z różnych platform SaaS do bazy danych. Możliwości automatyzacji operacji i uproszczenia codziennego obciążenia pracą są prawie nieograniczone.

Podsumowanie

Ukończając ten przewodnik, pomyślnie wdrożyłeś potężną, samodzielnie hostowaną platformę zdolną do transformacji sposobu zarządzania codziennymi operacjami. Dziękujemy za śledzenie tej konfiguracji! Gdy będziesz dalej odkrywać możliwości N8N, pamiętaj aby sprawdzić nasze inne tutoriale, aby odkryć jeszcze więcej niesamowitych i przydatnych narzędzi. Gdy będziesz gotów do skalowania lub zagłębiania się w nowe, ekscytujące projekty, pamiętaj że AlexHost zapewnia całą solidną infrastrukturę, której potrzebujesz do niezawodnego hostowania swoich usług.