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

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

Słowa kluczowe

TerminSzybka definicja
🚀 N8NWizualna platforma automatyzacji workflow oparta na węzłach 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, która służy 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 zautomatyzowany proces 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), które są 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 ujawnia 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)
  • Niekonsekwentne wyniki (błąd ludzki, pominięte kroki, częściowe aktualizacje)
  • Kruchy integracje (jednorazowe skrypty bez widoczności lub odpowiedzialności)

Automatyzacja to jeden z najwyżej dźwigniowych sposobów na zmniejszenie tego tarcia. Nawet małe workflow — synchronizacja danych, walidacja ładunków, publikowanie powiadomień, aktualizacja rekordów — mogą kumulować się w znaczące zyski: szybszy czas cyklu, mniej błędów i bardziej spójne operacje. Co ważne, „automatyzacja” nie dotyczy tylko redukcji 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 trwałe 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 na łączenie usług za pomocą edytora opartego na węzłach. Budujesz workflow z „węzłów” (wyzwalacze, transformacje danych, wywołania API, operacje na bazach danych, powiadomienia), 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 Linux:

  • Możliwość samodzielnego hostowania: możesz uruchomić to 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 do stopniowego przyjmowania: 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 dotyczące wdrożenia i konfiguracji są dokumentowane z nastawieniem na jasność, powtarzalność i „przyszłą twardość” (bez nadmiernego inżynierii początkowej konfiguracji).

Samodzielne hostowanie własnej instancji N8N

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

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 zwróci 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

Poprawne organizowanie plików jest kluczowe dla jasności i długoterminowej utrzymywaności. Zgodnie z konwencją, usługi Docker są zazwyczaj umieszczane w katalogu /opt. Wewnątrz niego stworzono folder docker_services, aby przechowywać wszystkie usługi, 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 backendową, użyjemy pliku compose.yaml. Wybieramy PostgreSQL zamiast domyślnego SQLite, ponieważ zapewnia on 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 zależy od niego, aby uruchomić się jako pierwszy.
Polityka ponownego uruchamianiaUżywa restart: always, aby kontenery automatycznie uruchamiały się ponownie przy starcie systemu lub jeśli się zawiodą.
PortyUdostępnia port 5678, abyś mógł uzyskać dostęp do interfejsu webowego 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 kontenerów, aby utrzymać dane trwałe:
./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ść katalogu i uprawnienia

Domyślnie, gdy Docker automatycznie tworzy katalogi hosta dla twoich wolumenów (takich jak nasze foldery data i files), przypisuje własność do użytkownika 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 posiadaniu roota, n8n nie będzie w stanie zapisać swoich plików konfiguracyjnych ani bazy danych, co spowoduje awarię kontenera podczas uruchamiania 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, aby przekazać konfiguracje systemowe i sekrety do naszych kontenerów bez twardego kodowania ich w naszym 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. Te wartości są niezbędne do mapowania aplikacji n8n do konkretnego adresu URL (takiego jak n8n.example.com), umożliwiając dostęp zewnętrzny przez DNS.
Strefa czasowaGENERIC_TIMEZONE ustawia strefę czasową specjalnie dla procesu aplikacji Node.js, aby harmonogramy i znaczniki czasowe logów były dokładne dla twojego regionu.
Protokoły 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 za pomocą zewnętrznego proxy, możesz usunąć tę linię, aby domyślnie było prawdziwe.
Środowisko węzłaNODE_ENV musi być ściśle ustawione na production. To optymalizuje działający serwer 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 podczas początkowego uruchomienia do utworzenia bazy danych PostgreSQL i uwierzytelnienia kolejnych połączeń. Zawsze używaj mocnych, niestandardowych haseł tutaj.

Zapisz i zamknij plik. Teraz masz skonfigurowane wszystkie niezbędne ustawienia, aby uruchomić swoją stos Docker Compose.

Uruchamianie usług docker

Przejdź do swojego 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ę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ąć eksplorować 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:5678.

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

Strona logowania

Ustaw klucz licencyjny

Początkowo N8N wyświetla okno oferujące bezpłatny 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 wyświetlenie komunikatu stwierdzającego „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, rozpoczynamy 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 dopiero początek. Prawdziwa moc N8N ujawnia się, gdy zaczynasz łączyć swoje codzienne narzędzia, aby zautomatyzować powtarzalne zadania i zmniejszyć tarcie. Na przykład możesz tworzyć workflow do automatycznego synchronizowania 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 nieskończone.

Podsumowanie

Ukończając ten przewodnik, pomyślnie wdrożyłeś potężną, samodzielnie hostowaną platformę zdolną do przekształcenia sposobu, w jaki zarządzasz codziennymi operacjami. Dziękujemy za śledzenie tego ustawienia! Gdy będziesz kontynuować eksplorację tego, co N8N może zrobić, pamiętaj, aby sprawdzić 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.