Ich mag Automationen, aber nicht jede Aufgabe gehört in eine SaaS. Vieles läuft bei mir auf eigener Hardware – insbesondere n8n, mein Schweizer Taschenmesser für Workflows. Hier ist mein Setup, Schritt für Schritt.

Was ist n8n?

n8n ist ein Open-Source-Automatisierungstool (node-based workflow builder) mit über 400 Integrationen. Es verbindet Webhooks, APIs, Datenbanken, Messaging-Dienste und lokale Systeme. Die Low-Code-Oberfläche erlaubt Business-Teams schnelle Automationen, während man dennoch jederzeit eigene JavaScript- oder Function-Nodes einbauen kann.

Warum lokal?

  • Datensouveränität: Kundendaten bleiben im eigenen Netz.
  • Keine Limits: Keine Workflow-Credits oder künstliche Trigger-Beschränkungen.
  • Integration in bestehende Tools: Zugriff auf lokale Systeme, Datenbanken, Fileshares.

Voraussetzungen

  • Docker + Docker Compose (docker --version, docker compose version)
  • Eine kleine Maschine (NUC, Homelab-Server, Raspberry Pi 4/5 mit 4 GB+ RAM)
  • Optional: Domain/Reverse Proxy, falls du von außen zugreifen willst

Verzeichnisstruktur

mkdir -p ~/n8n/data
cd ~/n8n

Alles, was n8n speichert (Workflows, Credentials, Logs), landet in ~/n8n/data. Damit sind Backups trivial.

Docker Compose

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Europe/Vienna
      - TZ=Europe/Vienna
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=meinuser
      - N8N_BASIC_AUTH_PASSWORD=ein_sicheres_passwort
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - NODE_ENV=production
      - N8N_EDITOR_BASE_URL=http://localhost:5678
      - N8N_PUBLIC_API_DISABLED=false
    volumes:
      - ./data:/home/node/.n8n

Wichtig: Wenn du n8n hinter einem Reverse Proxy betreibst, trage bei N8N_HOST deine Domain ein und setze N8N_PROTOCOL=https.

Starten & Loggen

docker compose up -d
docker compose logs -f

Sobald im Log „n8n ready on port 5678“ erscheint, erreichst du das Backend unter http://localhost:5678 (oder der IP deines Servers).

Erster Login

  1. Anmelden mit dem Basic-Auth-User aus den Env-Variablen
  2. Encryption-Key sichern (Einstellungen → Encryption)
  3. Optional: Default-Workflow löschen, neuen anlegen

Workflows bauen

  • Trigger Node: Webhook, Cron, Email, Form Submission …
  • Processing Nodes: HTTP Request, Function, Set, Merge
  • Output: Slack, Telegram, Airtable, Google Sheets, eigene APIs

Ich arbeite gerne iterativ: zuerst Trigger + Mock-Daten, dann logische Schritte, zum Schluss Aktoren. Execute workflow zeigt sofort, ob alles funktioniert.

Backups & Updates

  • Daten liegen in ~/n8n/data → via rsync oder Snapshot sichern
  • Updates: docker compose pull && docker compose up -d
  • Version pinnen, wenn du reproduzierbare Builds brauchst (image: n8nio/n8n:1.64.0)

Sicherheit

  • Basic Auth ist Pflicht (siehe Env-Variablen)
  • Für externen Zugriff: Reverse Proxy (Traefik/Caddy/NGINX) + HTTPS
  • Fail2Ban oder Geoblocking, falls nötig
  • Keine unnötigen Ports ins Internet forwarden

Bonus: CLI & Exporte

n8n bringt ein CLI mit:

n8n export workflow --all --output backup.json
n8n import workflow --input backup.json

So versionierst du deine Automationen in Git oder nimmst sie auf einen anderen Server mit.


Mit diesem Setup steht ein vollwertiges, lokal betriebenes n8n zur Verfügung – skalierbar genug für KMU-Prozesse, flexibel genug für Ad-hoc-Automationen. Wer mehrere Standorte oder sensible Datenpunkte orchestrieren muss, bekommt damit die volle Kontrolle über Integrationen, Latenzen und Sicherheitsmaßnahmen.