Aktualisiert März 2026 Docker Compose

Dify Docker Compose Einrichtung 2026

Vollständige Anleitung zur Dify Docker Compose Konfiguration — Ports anpassen, Datenbanken einrichten, Umgebungsvariablen optimieren und den Produktionsbetrieb sicherstellen.

Difys Container-Architektur

Dify besteht aus mehreren Docker-Containern, die zusammenarbeiten. Hier ist ein Überblick über die wichtigsten Dienste:

nginx
Reverse Proxy
Leitet HTTP-Traffic an API und Web weiter
Port: 80, 443
api
Backend-API
Haupt-API-Server (Python/Flask)
Port: 5001
worker
Background Worker
Celery-Worker für asynchrone Aufgaben
Port: —
web
Frontend
Next.js-Frontend-Anwendung
Port: 3000
db
PostgreSQL
Hauptdatenbank für Dify-Daten
Port: 5432
redis
Cache/Queue
Session-Cache und Task-Queue
Port: 6379
weaviate
Vektordatenbank
RAG-Pipeline Vektorspeicher
Port: 8080
sandbox
Code-Ausführung
Sichere Sandbox für Code-Tools
Port: 8194

Umgebungsvariablen (.env)

Erstelle die .env-Datei aus der Beispieldatei und passe diese Einstellungen an:

SECRET_KEY Pflichtfeld

Kryptografischer Schlüssel für Sitzungen und Tokens. Muss zufällig und mindestens 32 Zeichen lang sein.

{item.cmd}
CONSOLE_WEB_URL / APP_WEB_URL Pflichtfeld

Öffentliche URL deiner Dify-Instanz. Muss mit https:// beginnen in Produktion. Ohne diese Einstellung funktionieren Datei-Uploads und OAuth nicht korrekt.

DB_PASSWORD Pflichtfeld

PostgreSQL-Datenbankpasswort. Setze ein starkes Passwort — auch wenn die Datenbank intern ist.

{item.cmd}
REDIS_PASSWORD

Redis-Passwort. Empfohlen für Produktionsinstallationen.

Standard-Ports und Konflikte lösen

Wenn Port 80 bereits belegt ist (z.B. durch einen anderen Nginx), musst du Difys Ports in docker-compose.yml anpassen:

# In docker-compose.yml unter dem nginx-Service:
# Standard:
#   ports:
#     - "80:80"
# Geändert auf Port 8080:
ports:
  - "8080:80"

Tipp: Wenn du Nginx als äußeren Reverse Proxy nutzt, empfehlen wir, Dify auf einem internen Port (z.B. 8080) zu betreiben und den Nginx-Traffic darauf weiterzuleiten.

Produktions-Checkliste

SECRET_KEY auf starken zufälligen Wert gesetzt
CONSOLE_WEB_URL und APP_WEB_URL auf HTTPS-Domain gesetzt
Starke Datenbankpasswörter vergeben
UFW-Firewall konfiguriert (nur 22, 80, 443 offen)
Nginx Reverse Proxy eingerichtet
SSL-Zertifikat mit Certbot installiert
Automatische Datenbank-Backups eingerichtet
Docker auto-restart konfiguriert (restart: unless-stopped)
Monitoring-Alerts eingerichtet

Häufige Fehler und wie man sie vermeidet

1. Falsche Umgebungsvariablen

Ein häufiger Fehler ist das Setzen falscher Umgebungsvariablen in der .env-Datei. Dies führt oft zu Fehlermeldungen wie:

ERROR: Database connection failed

Überprüfung: Stelle sicher, dass die Datenbank-URL und die Zugangsdaten korrekt sind.

2. Portkonflikte

Wenn der Standardport 80 bereits belegt ist, kann Dify nicht starten. Du erhältst eine Fehlermeldung wie:

ERROR: Port 80 is already in use

Fix: Ändere den Port in der docker-compose.yml Datei, z.B.:

ports:
  - "8080:80"

3. Unzureichende Ressourcen

Wenn der Container nicht genügend RAM hat, kann Dify instabil werden. Typische Symptome sind langsame Reaktionen oder Abstürze:

ERROR: Out of memory

Stelle sicher, dass mindestens 2 GB RAM zugewiesen sind, um eine stabile Leistung zu gewährleisten.

4. Vergessenes Volumen-Mapping

Wenn du das Volumen-Mapping für persistente Daten vergisst, gehen Daten verloren. Dies führt zu Fehlern wie:

ERROR: Missing data

Füge in der docker-compose.yml Folgendes hinzu:

volumes:
  - ./data:/app/data