Zum Inhalt

n8n

Persönliche Empfehlung: Node-RED

Ich persönlich nutze Node-RED statt n8n für Automatisierungen. Node-RED ist mein Lieblingsprogramm - es ist mächtiger, besser mit Home Assistant integrierbar und hat eine riesige Community. n8n ist aber auch eine gute Wahl, besonders wenn du eine grafischere Oberfläche bevorzugst.

Installation

Füge das folgende Template in deine docker-compose.yml ein und führe anschließend ei23 dc aus.

Template

Umgebungsdatei erforderlich

Lege eine Datei ei23-docker/env/n8n.env mit den Datenbank-Zugangsdaten an.

Umgebungsdatei erstellen

Erstelle die Datei /home/[user]/ei23-docker/env/n8n.env mit folgendem Inhalt (Passe Passwörter an!):

POSTGRES_USER=n8n
POSTGRES_PASSWORD=DEIN_PASSWORT
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=n8n_user
POSTGRES_NON_ROOT_PASSWORD=DEIN_PASSWORT

Docker-Compose Template

  n8n-postgres:
    image: postgres:16
    container_name: n8n-postgres
    restart: always
    env_file:
      - ./env/n8n.env
    environment:
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_NON_ROOT_USER=${POSTGRES_NON_ROOT_USER}
      - POSTGRES_NON_ROOT_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
    volumes:
      - ./volumes/n8n/db_storage:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
      interval: 5s
      timeout: 5s
      retries: 10

  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: always
    env_file:
      - ./env/n8n.env
    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_HOST=example.com
      # - NODE_ENV=production
      # - WEBHOOK_URL=https://example.com
    ports:
      - 5678:5678
    links:
      - n8n-postgres
    user: 0:0
    volumes:
      - ./volumes/n8n/n8n:/home/node/.n8n
    depends_on:
      n8n-postgres:
        condition: service_healthy

Hinweise

  • Nach dem Start erreichst du n8n unter http://[IP]:5678
  • Beim ersten Start musst du einen Account erstellen
  • n8n verwendet eine PostgreSQL-Datenbank für die Speicherung der Workflows
  • Integriert mit Home Assistant, MQTT und vielen anderen Diensten
  • Workflows können per Cron, Webhook oder manuell getriggert werden

Weitere Informationen