OffshoreVps
Anleitungen4 Okt. 20267 Min. LesezeitVon dem OffshoreVps-Team

n8n und KI-Agenten mit Docker Compose auf einem VPS bereitstellen

n8n mit Postgres und HTTPS selbst hosten, einen Workflow mit KI-Agent bauen, Webhooks schützen und Daten sowie Verschlüsselungsschlüssel sichern.

n8n ist ein Workflow-Tool, das Apps, APIs und KI-Modelle mit einem visuellen Editor verbindet. Beim Selbsthosten bleiben Ihre Workflows, Zugangsdaten und Daten auf einem Server, den Sie kontrollieren, und Ausführungen werden nicht abgerechnet. Diese Anleitung stellt n8n mit Docker Compose, einer Postgres-Datenbank und HTTPS bereit, bereit für KI-Agenten rund um die Uhr.

Terminalfenster auf einem VPS mit den Befehlen zur Bereitstellung von n8n und KI-Agenten, beginnend mit „mkdir -p ~/n8n && cd ~/n8n“
Die Art von Befehlen, die Sie in dieser Anleitung auf Ihrem Server ausführen.

Warum ein VPS für Agenten?

Agenten laufen oft nach Zeitplan oder reagieren auf Webhooks, brauchen also einen Server, der immer eingeschaltet und erreichbar ist. Ein VPS gibt Ihnen eine feste Adresse für Webhooks und genug RAM, damit Workflows reaktionsschnell bleiben. Ein Tarif mit 2 vCPU und 4 GB passt zu einem kleinen Setup. Größen finden Sie unter KI-Agenten-Hosting, und fügen Sie einen GPU-Server hinzu, wenn Sie lokale Modelle wollen.

Bevor Sie beginnen

Schritt 1: Compose-Datei

mkdir -p ~/n8n && cd ~/n8n
cat > compose.yaml <<'YAML'
services:
  db:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_DB: n8n
    volumes:
      - db:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    depends_on: [db]
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: db
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}
      N8N_HOST: n8n.example.com
      N8N_PROTOCOL: https
      WEBHOOK_URL: https://n8n.example.com/
      N8N_ENCRYPTION_KEY: ${ENCRYPTION_KEY}
      GENERIC_TIMEZONE: UTC
    ports:
      - "127.0.0.1:5678:5678"
    volumes:
      - n8n:/home/node/.n8n

volumes:
  db:
  n8n:
YAML

Schritt 2: Secrets

cat > .env <<ENV
DB_PASSWORD=$(openssl rand -hex 24)
ENCRYPTION_KEY=$(openssl rand -hex 32)
ENV
chmod 600 .env

Sichern Sie ENCRYPTION_KEY. Ohne ihn kann n8n die gespeicherten Zugangsdaten nicht entschlüsseln.

Die Schritte dieser Anleitung in der Reihenfolge: 1. Warum ein VPS für Agenten?; 2. Bevor Sie beginnen; 3. Secrets; 4. n8n starten; 5. Einen Agenten-Workflow bauen; 6. Sicher halten
Die Schritte dieser Anleitung in der Reihenfolge.

Schritt 3: n8n starten

docker compose up -d
docker compose logs -f n8n

Schritt 4: HTTPS

n8n.example.com {
  reverse_proxy 127.0.0.1:5678
}

Laden Sie Caddy neu, öffnen Sie die Website und legen Sie das Eigentümerkonto an.

Schritt 5: Einen Agenten-Workflow bauen

  1. Fügen Sie einen Webhook- oder Schedule-Trigger hinzu.
  2. Fügen Sie einen AI Agent-Node hinzu und verbinden Sie ein Chat-Modell, zum Beispiel eine gehostete API oder Ollama auf Ihrem eigenen GPU-Server.
  3. Geben Sie dem Agenten Werkzeuge wie HTTP-Anfragen, eine Datenbank oder einen Messaging-Node.
  4. Testen Sie mit einer manuellen Ausführung und aktivieren Sie dann den Workflow.

Sicher halten

  • Binden Sie n8n an 127.0.0.1 und machen Sie nur den HTTPS-Proxy zugänglich.
  • Schützen Sie Webhooks nach Möglichkeit mit einem geheimen Header oder Pfad.
  • Sichern Sie das Postgres-Volume und das n8n-Volume. Siehe Backups mit restic oder borg.
  • Aktualisieren Sie mit docker compose pull && docker compose up -d, nachdem Sie die Versionshinweise gelesen haben.