Jak zainstalować n8n? Samohostowanie n8n na Ubuntu

Jak zainstalować n8n? Samohostowanie n8n na Ubuntu

n8n to potężne, otwartoźródłowe narzędzie do automatyzacji, które pozwala tworzyć własne przepływy pracy, zarządzać przepływem danych i płynnie integrować aplikacje oraz API. Samodzielne hostowanie n8n na Ubuntu VPS zapewnia większą prywatność danych, pełną kontrolę nad środowiskiem i lepszą opłacalność niż w rozwiązaniach zarządzanych. W tym przewodniku pokażemy jak zainstalować n8n na dwa sposoby:

  1. Instalacja ręczna — dla osób, które wolą pracę krok po kroku i większą możliwość personalizacji.
  2. Szablon 1-klik od Hostinger — dla tych, którzy chcą szybko i wygodnie uruchomić n8n.

Po przejściu całego artykułu będziesz mieć w pełni działającą instancję n8n na swoim VPS-ie, gotową do automatyzowania zadań.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że Twoje środowisko spełnia następujące warunki:

  • VPS z Ubuntu (Virtual Private Server)

Minimum: 1 vCPU, 1GB RAM (KVM1)

Rekomendowane: 2 vCPU, 2GB RAM (KVM2)Jeśli jeszcze nie masz, Hostinger oferuje szeroki wybór opcji VPS, w tym hosting n8n VPS.

  • Domena/subdomena: opcjonalna, ale ułatwia konfigurację HTTPS i dostęp.
  • Dostęp do VPS: — połącz się przez SSH (wymagane uprawnienia root) lub skorzystaj z panelu zarządzania (np. hPanel).
  • Docker: wymagany, jeśli wybierasz podejście kontenerowe (dla szablonu 1-klik nie jest konieczny). 

Jak zainstalować n8n na Ubuntu?

Jeśli korzystasz z usług dostawcy hostingu VPS bez szablonu n8n typu „one-click”, konieczne będzie zainstalowanie n8n ręcznie. Przejdźmy krok po kroku przez proces uruchamiania i konfiguracji n8n w systemie Ubuntu.

1. Zainstaluj zależności

Zanim skonfigurujesz n8n ręcznie, zainstaluj niezbędne zależności. Zacznij od połączenia z VPS przez SSH lub konsolę w przeglądarce. Następnie zaktualizuj listy pakietów i istniejące pakiety do najnowszych wersji:

sudo apt-get update && sudo apt-get upgrade -y

Dzięki temu system będzie miał aktualne poprawki bezpieczeństwa i wersje oprogramowania.

Istnieją dwa główne sposoby uruchomienia samohostowanego n8n:

  • Instalacja bezpośrednia
  • Instalacja kontenerowa

Instalacja kontenerowa jest preferowana w większości scenariuszy, jednak poniżej opisujemy obie metody.

Instalacja bezpośrednia

n8n może działać bezpośrednio w środowisku Node.js. Jeśli nie używasz Dockera, zainstaluj wersję LTS Node.js.

1. Zainstaluj curl i skrypt ustawiający repozytorium Node.js:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

2. Zainstaluj Node.js i npm:

sudo apt-get install -y nodejs

3. Zweryfikuj instalację:

node -v

npm -v

Jeśli wszystko jest poprawnie, polecenia zwrócą wersje Node.js i npm.

Instalacja kontenerowa

Jeśli wolisz uruchomić n8n w kontenerze Dockera, najpierw zainstaluj Docker.

1. Zainstaluj wymagane zależności:

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

2. Dodaj oficjalny klucz GPG Dockera:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3. Dodaj repozytorium Dockera i zainstaluj Docker:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

4. Zweryfikuj instalację Dockera:

docker --version

Polecenie zwróci wersję Dockera, jeśli instalacja przebiegła pomyślnie.

2. Skonfiguruj n8n

Gdy zależności są gotowe, możesz przystąpić do konfiguracji n8n.

Instalacja bezpośrednia

Jeśli posiadasz zainstalowany wcześniej Node.js, zainstaluj n8n globalnie przy użyciu npm:

npm install -g n8n

Uruchom sesję screen o nazwie n8n:

screen -S n8n

Wewnątrz sesji uruchom n8n:

n8n

Aby odłączyć sesję screen, naciśnij CTRL+A, następnie D. Aby ponownie dołączyć i pracować z n8n:

screen -R n8n

Domyślnie n8n działa na porcie 5678. Teraz możesz otworzyć:

http://twoje-ip-serwera:5678

Na tym etapie możesz zobaczyć błąd dotyczący „secure cookie”. W kolejnych krokach omówimy utworzenie certyfikatu SSL.

Instalacja kontenerowa

Pobierz najnowszy obraz Dockera n8n:

docker pull n8nio/n8n

Uruchom kontener z mapowaniem portu:

docker run -d --name n8n -p 5678:5678 n8nio/n8n
  • -d – uruchamia kontener w tle.
  • –name n8n – Names the container n8n.
  • -p 5678:5678 – Maps port 5678 on the server to port 5678 in the container.

Aby otworzyć n8n w przeglądarce, przejdź do:

http://twoje-ip-serwera:5678

Podobnie jak wyżej, możesz napotkać błąd „secure cookie”. Rozwiązanie znajdziesz w sekcji dotyczącej certyfikatu SSL.

Domyślnie dane wewnątrz kontenera Dockera nie są trwałe. Aby zachować workflowy i ustawienia, uruchom n8n z podinstalowanym wolumenem:

docker stop n8n && docker rm n8n #zatrzymaj i usuń poprzedni kontener
docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n

To mapuje katalog ~/.n8n w systemie gospodarza na katalog danych n8n wewnątrz kontenera.

Jeśli kontener nie startuje, może brakować uprawnień do zapisu w wolumenie. Nadaj uprawnienia:

sudo chown -R 1000:1000 ~/.n8n
sudo chmod -R 755 ~/.n8n

Następnie uruchom kontener:

docker start n8n

3. Skonfiguruj n8n

Domyślnie n8n nie wymusza logowania, więc każdy, kto trafi na adres IP Twojego serwera, może z niego korzystać. Aby zabezpieczyć instancję, ustaw zmienne środowiskowe przed uruchomieniem.

Przy instalacji bezpośredniej użyj export, pamiętając o podmianie login, hasło i twojadomena.pl na własne dane:

export N8N_BASIC_AUTH_ACTIVE=true
export N8N_BASIC_AUTH_USER=login
export N8N_BASIC_AUTH_PASSWORD=haslo
export N8N_HOST=twojadomena.pl
export N8N_PORT=5678
export WEBHOOK_URL=https://twojadomena.pl/
export GENERIC_TIMEZONE=UTC

Podczas uruchamiania n8n jako kontenera Docker (instalacja kontenerowa) można przekazać te zmienne za pomocą flagi -e (ponownie dodaj poniżej swoje dane uwierzytelniające):

docker stop n8n && docker rm n8n #Zatrzymaj i usuń poprzedni kontener n8n.
docker run -d --name n8n \
 -p 5678:5678 \
 -e N8N_BASIC_AUTH_ACTIVE=true \
 -e N8N_BASIC_AUTH_USER=login \
 -e N8N_BASIC_AUTH_PASSWORD=haslo \
 -e N8N_HOST=twojadomena.pl \
 -e N8N_PORT=5678 \
 -e WEBHOOK_URL=https://twojadomena.pl/ \
 -e GENERIC_TIMEZONE=UTC \
 -v ~/.n8n:/home/node/.n8n \
 n8nio/n8n

4. Włącz bezpieczny dostęp

Aby chronić instancję n8n i zapewnić szyfrowane połączenia, skonfigurujemy SSL (HTTPS) z użyciem Let’s Encrypt i NGINX jako odwrotnego proxy. To szczególnie ważne, jeśli korzystasz z własnej domeny.

5. Zainstaluj NGINX i Certbot:

sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y

6. Włącz i uruchom NGINX:

sudo systemctl enable nginx
sudo systemctl start nginx

7. Utwórz i otwórz nowy plik konfiguracji NGINX dla n8n:

sudo nano /etc/nginx/sites-available/n8n

8. Dodaj konfigurację, zamieniając twojadomena.pl na własną domen:

server {
   server_name twojadomena.pl;
   location / {
       proxy_pass http://localhost:5678;  # Forward requests to n8n
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
   }
   listen 80;
}

Zapisz i zamknij plik: CTRL+X, potem Y, a następnie ENTER.

9. Włącz konfigurację:

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/

10. Zrestartuj NGINX:

sudo systemctl restart nginx

11. Wygeneruj darmowy certyfikat SSL Let’s Encrypt:

sudo certbot --nginx -d twojadomena.pl

12. Otwórz crontab:

sudo certbot renew

Jeśli pojawi się pytanie o edytor, wybierz nano.

13. Dodaj następujące zadanie crontaba:

0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"

Certyfikaty Let’s Encrypt domyślnie wygasają co 90 dni. Dzięki temu zadaniu Certbot będzie odnawiał certyfikat automatycznie.

Aby potwierdzić działanie HTTPS, otwórz przeglądarkę i wejdź na adres w formacie https://twojadomena.pl. Jeżeli widzisz interfejs n8n bez ostrzeżeń SSL, konfiguracja zakończyła się powodzeniem i n8n jest gotowy do pracy!

Jak zainstalować n8n z użyciem szablonu VPS Hostinger?

Zacznijmy od najprostszej metody: użycia szablonu n8n 1-klik w Hostinger. Ta metoda automatyzuje konfigurację serwera Ubuntu i instaluje n8n wraz z zależnościami.

1. Wejście do panelu VPS

Najpierw przejdź do panelu swojego serwera VPS:

  1. Przejdź do hPanel i zaloguj się, korzystając z preferowanej metody.
  2. Po zalogowaniu się przejdź do sekcji VPS w menu po lewej stronie.
  3. Wybierz VPS, do którego chcesz zastosować szablon n8n, i kliknij przycisk Zarządzaj obok niego.

2. Instalacja szablonu n8n

1. Po wejściu do panelu VPS otwórz menu rozwijane OS & Panel po lewej stronie i wybierz opcję System operacyjny.

Tu znajdziesz systemy operacyjne i ich szablony dostępne dla Twojego serwera VPS.

2. W panelu Zmień OS wpisz n8n w polu wyszukiwania i wybierz szablon n8n.

3. W wyświetlonym oknie dialogowym kliknij lub stuknij Zmień OS.

4. Zobaczysz okno informujące, że system operacyjny Twojego VPS zostanie nadpisany, a wszystkie pliki zostaną usunięte. Zaznacz pole przy „Potwierdzam, że wszystkie moje pliki zostaną usunięte i nie można ich przywrócić” i kliknij Dalej.

5. Wpisz hasło dla użytkownika root i kliknij Potwierdź.

Rozpocznie się konfiguracja szablonu. Zobaczysz pasek postępu u góry pulpitu (dashboardu), jak na poniższym przykładzie:

Po chwili Twoja instancja n8n będzie gotowa do użycia.

💡 Porada

Jeśli kiedykolwiek zechcesz zmienić hasło do VPS, możesz to zrobić w menu Ustawień albo korzystając z Kodee, naszego asystenta opartego na AI. Z Kodee jest łatwiej — po prostu wpisz polecenie z prośbą o zmianę hasła serwera i podaj nowe. Na przykład: “Please change my VPS password to MojeNoweBezpieczneHasło23.”

3. Przetestuj instalację

Po skonfigurowaniu n8n na VPS powinieneś móc się zalogować i potwierdzić, że wszystko działa.

1. Na stronie Przegląd VPS kliknij Zarządzaj aplikacją.

2. Otworzy się okno dialogowe rejestracji n8n, które powinno wyglądać podobnie do poniższego przykładu:

4. Wpisz swoje dane i utwórz hasło zgodnie z podanymi wymaganiami. Kliknij Dalej, a następnie przejdź przez kolejne wyskakujące okna, na razie pozostawiając je puste. Powinno Cię to przenieść na stronę Przegląd w n8n:

5. Jeśli widzisz panel n8n w domyślnym widoku jak powyżej, konfiguracja zakończyła się sukcesem!

4. Skonfiguruj swoją instancję n8n

Skoro instancja n8n już działa, dopracujmy ustawienia pod kątem bezpieczeństwa i personalizacji.

1. Kliknij lub stuknij ikonę trzech kropek obok swojego imienia w lewym dolnym rogu i wybierz Ustawienia:

2. Po lewej stronie wybierz Osobiste:

Tutaj możesz podejrzeć i zmienić wszystkie swoje dane logowania, takie jak Imię, Nazwisko, E-mail i Hasło.

Możesz też modyfikować n8n za pomocą zmiennych środowiskowych:

1. Połącz się z VPS przez SSH lub przez Terminal w przeglądarce.

2. Otwórz plik docker compose.yml w edytorze nano:

nano ../root/docker compose.yml

3. Edytuj sekcję Środowisko – dodaj lub zmień zmienne środowiskowe. Na przykład, aby włączyć podstawowe uwierzytelnianie, dodaj:

- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=login
- N8N_BASIC_AUTH_PASSWORD="haslo"

Zastąp login i hasło rzeczywistymi danymi.

Inne często używane zmienne środowiskowe, które możesz dodać lub zmienić:

  • N8N_HOST – ustaw na swoją domenę, jeśli jej używasz.
  • N8N_PORT – domyślnie 5678, można zmienić w razie potrzeby.
  • N8N_PROTOCOL – określa, jakiego protokołu ma używać n8n.
  • WEBHOOK_URL – wymagane przy użyciu webhooków z domeną.
  • GENERIC_TIMEZONE – opcjonalna strefa czasowa.

4. Zapisz i zamknij nano, naciskając CTRL+X, potem Y, a następnie ENTER. Aby potwierdzić zapis zmian, uruchom:

cat docker compose.yml

Polecenie wyświetli cały plik Docker Compose. Powinny być w nim Twoje modyfikacje.

5. Zrestartuj Docker Compose, aby zastosować zmiany:

docker compose down
docker compose up -d

Po restarcie Docker Compose Twoje zmiany zostaną wdrożone — n8n zacznie używać ustawionych zmiennych środowiskowych.

Jeśli używasz własnej domeny, skonfiguruj także SSL. Dla bezpiecznego połączenia HTTPS możesz skorzystać z Let’s Encrypt z NGINX jako odwrotnym proxy:

1. Zainstaluj Certbot i NGINX:

sudo apt install certbot nginx python3-certbot-nginx -y

2. Utwórz/otwórz plik strony NGINX dla n8n:

sudo nano /etc/nginx/sites-available/n8n

3. Skonfiguruj NGINX jako proxy dla ruchu do n8n. Dodaj poniższe, zamieniając twojadomena.pl na własną nazwę domeny:

server {
server_name twojadomena.pl;
location / {
   proxy_pass http://localhost:5678;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
}
}

Zapisz i zamknij plik CTRL+X, potem Y i ENTER.

4. Włącz konfigurację i zrestartuj NGINX:

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl restart nginx

5. Uzyskaj certyfikat SSL dla swojej domeny (zamień twojadomena.pl na własną):

sudo certbot --nginx -d twojadomena.pl

6. Otwórz crontab:

sudo certbot renew

Jeśli pojawi się pytanie o edytor, wybierz nano.

7. Dodaj zadanie cron:

0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"

Certyfikaty Let’s Encrypt domyślnie wygasają co 90 dni. Dzięki temu zadaniu certbot będzie odnawiał certyfikat automatycznie, gdy zajdzie potrzeba.

8. Otwórz plik docker compose.yml w nano:

nano ../root/docker compose.yml

9. Zaktualizuj następujące zmienne środowiskowe:

- WEBHOOK_URL=https://twojadomena.pl/
- N8N_HOST=twojadomena.pl
- N8N_PORT=5678
- N8N_PROTOCOL=https

Zapisz i zamknij plik CTRL+X, potem Y i ENTER.

10. Zrestartuj Docker Compose, aby uruchomić zmiany

docker compose down
docker compose up -d

Po tym Twoja instancja n8n będzie dostępna bezpiecznie pod Twoją własną domeną (np. https://twojadomena.pl).

Podsumowanie

Gratulacje! n8n został pomyślnie zainstalowany i jest teraz hostowany na Twoim serwerze. Niezależnie od tego, czy instalacja przebiegła za pomocą konfiguratora 1-klik w Hostinger, czy została wykonana ręcznie, masz do dyspozycji potężne narzędzie do automatyzacji przepływów pracy (ang. workflow).

Teraz pora zacząć tworzyć przepływy i automatyzować zadania. Od prostych integracji w n8n po złożone procesy biznesowe, w tym automatyzacja kampanii marketingowych — n8n daje elastyczność łączenia aplikacji, API i baz danych bez potrzeby pisania dużej ilości kodu. Możesz poznawać różne pomysły na automatyzacje w n8n, które usprawniają przepływy i ułatwiają codzienne zadania.

Pamiętaj o tych kluczowych kwestiach:

  • Zadbaj o bezpieczeństwo n8n: włącz uwierzytelnianie, aktywuj HTTPS i ograniczaj dostęp tam, gdzie to konieczne.
  • Aktualizuj regularnie: bądź na bieżąco z najnowszym n8n i poprawkami bezpieczeństwa, okresowo aktualizując instalację.
  • Rób kopie zapasowe: jeśli używasz Dockera, zapewnij trwałe przechowywanie danych, aby workflowy i poświadczenia były bezpieczne oraz aby procesy mogły działać na podstawie danych historycznych i bieżących.

Jeśli napotkasz problemy lub chcesz poznać zaawansowane konfiguracje, zajrzyj do dokumentacji n8n lub dołącz do społeczności n8n po wsparcie.

Jak zainstalować n8n — FAQ

Czy można uruchomić n8n lokalnie?

Tak. Możesz uruchomić n8n lokalnie, instalując go globalnie przez npm poleceniem npm install n8n -g. Po instalacji uruchom n8n, wpisując n8n lub n8n start.

Jaki plan VPS jest potrzebny do uruchomienia n8n?

VPS z 2 vCPU i 4 GB RAM powinien wystarczyć na start — w ofercie Hostinger plan KVM2 będzie w zupełności wystarczający.

Jak uzyskać dostęp i zacząć korzystać z n8n po instalacji?

Po instalacji lokalnej otwórz w przeglądarce adres http://localhost:5678.Jeśli samohostujesz na VPS z własną domeną, użyj http://twojadomena.pl:5678, a jeśli skonfigurowano SSL — https://twojadomena.pl.

Author
Autor

Grzegorz Braciszewski

Grzegorz jest autorem treści i tłumaczem z doświadczeniem w marketingu, biznesie i technologii. Jego priorytetem jest czytelność i analiza rynku, co pozwala mu trwale wpłynąć na czytelnika. Grzegorz jest podróżnikiem i odwiedził ponad 20 krajów na całym świecie. Śledź go na LinkedIn.