n8n Automatisierungsplatform als docker container

n8n Automatisierungsplatform als docker container

n8n Automatisierungsplatform

N8n ist eine Open‑Source-Workflow-Automatisierungsplattform, die sich hervorragend für das Erstellen von Integrationen zwischen verschiedenen Diensten und APIs eignet. Die Anwendung läuft als Docker‑Container, sodass sie einfach in bestehende Container‑Infrastrukturen eingebunden werden kann. Mit einem visuell erstellten Flow‑Editor können Benutzer komplexe Automatisierungen ohne Programmierkenntnisse entwerfen.

N8n ist eine leistungsstarke, quelloffene Alternative zu proprietären Workflow‑Tools. Es kombiniert die Vorteile von Automatisierungs- und Integrationsplattformen in einem leichtgewichtigen, containerfreundlichen Paket.

Quelle des Projekts: https://n8n.io

Voraussetzung

Docker muss installiert sein. Z.B. so:

curl -fsSL https://get.docker.com | sh

Vorgehen

Du kannst Dir auf einem Server Deiner Wahl ein Verzeichnis erstellen. Darin erstellst Du die benötigten Dateien "docker-compse.yml" und ".env":

docker-compose.yml

 

services:
    n8n-postgres:
        image: postgres:17
        container_name: n8n-db
        restart: unless-stopped
        environment:
            - POSTGRES_USER=${POSTGRES_USER}
            - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
            - POSTGRES_DB=${POSTGRES_DB}
        volumes:
            - /path/to/n8n/db:/var/lib/postgresql/data
        healthcheck:
          test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
          interval: 5s
          timeout: 5s
          retries: 10
          start_period: 20s
        networks:
            - n8n-network
    n8n:
        image: n8nio/n8n
        container_name: n8n-app
        restart: unless-stopped
        user: root
        volumes:
            - /path/to/n8n/data:/home/node/.n8n
        environment:
            - DB_TYPE=postgresdb
            - DB_POSTGRESDB_HOST=n8n-postgres
            - DB_POSTGRESDB_PORT=5432
            - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
            - DB_POSTGRESDB_USER=${POSTGRES_USER}
            - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
            - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
            - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
            - WEBHOOK_URL=${WEBHOOK_URL}
            - N8N_EDITOR_BASE_URL=${N8N_EDITOR_BASE_URL}
            - N8N_HOST=${N8N_HOST}
            - N8N_BASE_URL=https://${N8N_HOST}
            - TZ=Europe/Berlin
            - NODE_ENV=production
            - N8N_RUNNERS_ENABLED=true
            - N8N_WORKER_MODE=true
            - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
        links:
          - n8n-postgres
        depends_on:
          n8n-postgres:
            condition: service_healthy
        networks:
          - n8n-network
          - proxy-net

 

networks:
  n8n-network:
  proxy-net:
    external: true

Das setzen des Schalters N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE auf true bewirkt, dass auch Community Packages installiert werden können.

In der Datei ".env" werden dann die Inhalte der Umgebungsvariablen gespeichert. Außerdem muss das externe Netzwerk "proxy-net" existieren, in dem der reverse proxy hängt (-> siehe meine Seite zu nginx proxy manager).

.env

POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=
N8N_ENCRYPTION_KEY=
WEBHOOK_URL=https://n8n.geekgully.de
N8N_EDITOR_BASE_URL=https://n8n.geekgully.de
N8N_HOST=n8n.geekgully.de

Hier musst Du noch ein Passwort für die postgres-Datzenbank und einen langen Encryption Key vergeben. Den Hostnamen für Deine n8n-Instanz solltest Du auch noch anpassen.

Starten der Container

Jetzt kannst Du auf der Kommandozeile oder über einen docker-Manager wie Portainer die Container starten:

docker compose up -d

Reverse proxy

Im nginx proxy manager erstellt Du nun den Hostnamen der Seite, z.B. n8n.geekgully.de, und generierst das SSL-Zertifikat. Danach ist Kitchenowl z.B. unter https://n8n.geekgully.de erreichbar.

 

Comments powered by CComment

Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Marketing
Set of techniques which have for object the commercial strategy and in particular the market study.
Facebook
Accept
Decline
Unknown
Unknown
Accept
Decline