W świecie, gdzie automatyzacja procesów biznesowych staje się kluczowym elementem efektywnego działania firm, narzędzia typu workflow automation zyskują na znaczeniu. Jednym z najbardziej elastycznych i otwartych rozwiązań jest n8n — platforma typu open-source, która pozwala tworzyć zaawansowane przepływy pracy bez konieczności pisania kodu. Jeśli korzystasz z Microsoft Azure i chcesz zintegrować n8n ze swoją infrastrukturą chmurową, ten artykuł przeprowadzi Cię krok po kroku przez proces instalacji, konfiguracji i uruchomienia środowiska automatyzacji, które naprawdę robi różnicę.

Architektura rozwiązania

Architektur rozwiązania prezentuje się następująco:

Wymagania wstępne

Zanim rozpoczniesz, upewnij się, że masz:

Wymagane narzędzia

  • Azure CLI (wersja 2.15.0 lub nowsza)
  • Docker (do testów lokalnych — opcjonalnie)
  • Powłoka Bash (Linux, macOS lub Windows WSL)
  • Edytor tekstu (zalecany VS Code)

Wymagania dotyczące Azure

  • Aktywna subskrypcja Azure z odpowiednimi uprawnieniami
  • Rola Contributor na subskrypcji lub grupie zasobów
  • Możliwość tworzenia grup zasobów, rejestrów kontenerów i aplikacji kontenerowych

Wymagana wiedza techniczna

  • Podstawowa znajomość pracy w wierszu poleceń
  • Rozumienie kontenerów Docker (pomocne, ale nie wymagane)
  • Podstawowe pojęcia Azure (grupy zasobów, regiony)

Zrozumienie architektury

Nasze wdrożenie n8n będzie składało się z wielu usług Azure współpracujących ze sobą, aby zapewnić bezpieczną, skalowalną i gotową do produkcji platformę automatyzacji przepływów pracy.

Kluczowe komponenty:

  • Azure Container Registry (ACR): przechowuje nasz niestandardowy obraz Dockera n8n zbudowany na Azure Linux 3
  • Środowisko Container App: zarządza środowiskiem uruchomieniowym z możliwością automatycznego skalowania
  • Aplikacja kontenerowa n8n: główna aplikacja działająca w bezpiecznym kontenerze bez uprawnień root
  • Baza danych PostgreSQL: trwałe przechowywanie przepływów pracy, wykonań i danych użytkowników
  • Azure Key Vault: centralne zarządzanie hasłami i kluczami szyfrującymi
  • Profil obciążenia: konfiguracja skalowania w modelu konsumpcyjnym (0–10 instancji)

Przygotowanie

Wybór regionu Azure

Wybierz region Azure blisko swoich użytkowników dla lepszej wydajności. Popularne opcje:

  • Sweden Central (swedencentral) – dla użytkowników w Europie
  • East US (eastus) – dla użytkowników w Ameryce Północnej
  • Southeast Asia (southeastasia) – dla użytkowników w Azji

Konwencja nazewnictwa

  • Grupa zasobów: n8n-eg-[region]-linux
  • Środowisko: n8n-env
  • Aplikacja kontenerowa: my-n8n-app
  • Rejestr kontenerów: [unikalna-nazwa]acr

Krok 1: Przygotowanie środowiska

1.1 Logowanie do Azure

az login

1.2 Ustawienie domyślnej subskrypcji

# List available subscriptions 
az account list --output table 
# Set your subscription (replace with your subscription ID) 
az account set --subscription "your-subscription-id"

1.3 Instalacja rozszerzenia Container Apps

az extension add --name containerapp --upgrade

1.4 Rejestracja wymaganych providerów

az provider register --namespace Microsoft.App az provider register --namespace Microsoft.OperationalInsights

Krok 2: Utworzenie środowiska Container App

2.1 Konfiguracja zmiennych (1_create_workload_profile.sh)

# Edit these values according to your preferences 
RESOURCE_GROUP="n8n-eg-northeurope-linux" 
# Your resource group name 
LOCATION="northeurope" 
# Your preferred Azure region WORKLOAD_PROFILE_NAME="n8n-workload-profile" 
ENV_NAME="n8n-env"

2.2 Uruchomienie skryptu

# Make the script executable 
chmod +x 1_create_workload_profile.sh # Run the script ./1_create_workload_profile.sh

Krok 3: Budowa obrazu Dockera n8n

3.2 Konfiguracja zmiennych (2_build_image.sh)

#Edit these values 
ACR_NAME="your-unique-acr-name" 
# Must be globally unique (alphanumeric only) 
IMAGE_NAME="n8n-azure" 
#Your image name 
RESOURCE_GROUP="n8n-eg-northeurope-linux" 
#Same as step 2 
LOCATION="northeurope" 
#Same as step 2 
DOCKERFILE_PATH="Dockerfile.azurelinux" 
# Change to your Dockerfile path (default: Dockerfile)

3.3 Uruchomienie skryptu

# Make the script executable 
chmod +x 2_build_image.sh # Run the script ./2_build_image.sh

Krok 4: Wdrożenie aplikacji kontenerowej n8n

4.1 Konfiguracja zmiennych (3_deploy_container_app.sh)

# Application Configuration 
CONTAINER_APP_NAME="my-n8n-app"
# Your app name 
LOCATION="northeurope" 
# Same as previous steps 
RESOURCE_GROUP="n8n-rg-northeurope" 
# Resource group name 
ACR_NAME="yourn8nacr" 
# Same ACR name from step 3 
IMAGE_NAME="n8n-azure" 
# Same image name from step 3 
# Database Configuration 
DB_SERVER_NAME="your-n8n-db-server" 
# Unique database server name 
DB_ADMIN_USER="n8n_admin" 
# Database admin username 
DB_NAME="n8n" 
# Database name 
# n8n Configuration 
N8N_DOMAIN="your-domain.com" 
# Your domain (or use provided URL later) 
N8N_USERNAME="admin" 
# n8n admin username 
KEYVAULT_NAME="your-n8n-kv" 
# Unique Key Vault name

4.2 Uruchomienie skryptu

# Make the script executable 
chmod +x 3_deploy_container_app.sh 
# Run the script 
./3_deploy_container_app.sh

Krok 5: Dostęp i konfiguracja n8n

Na końcu skryptu otrzymasz adres URL hosta n8n.

Lista kontrolna bezpieczeństwa produkcyjnego

  • Zmień domyślne hasła natychmiast po wdrożeniu
  • Włącz HTTPS z własną domeną i certyfikatem SSL
  • Skonfiguruj ograniczenia sieciowe (tylko zaufane adresy IP)
  • Włącz Azure Monitor do logowania i alertów
  • Skonfiguruj strategię kopii zapasowych
  • Przejrzyj polityki dostępu Key Vault
  • Włącz audyt bazy danych

Optymalizacja kosztów

  • Container Apps: płacisz tylko, gdy aplikacja działa
  • Plan konsumpcyjny: $0.000024/vCPU-sekunda + $0.000003/GiB-sekunda
  • Typowe użycie n8n: ~$10–30/miesiąc
  • PostgreSQL Database: od ~$25/miesiąc (Basic tier)
  • Container Registry: ~$5/miesiąc + transfer

Kolejne kroki

  • Utwórz swoje pierwsze workflowy w n8n
  • Skonfiguruj monitoring w Azure Monitor
  • Zaplanuj kopie zapasowe
  • Skonfiguruj własną domenę
  • Połącz n8n z innymi usługami

Gdzie szukać pomocy

Forum społeczności n8n

Dokumentacja n8n: https://docs.n8n.io

Dokumentacja Azure Container Apps: https://docs.microsoft.com/azure/container-apps