Aktualisiert März 2026 ca. 2 Stunden Setup

Dify selbst hosten 2026 — Vollständige Anleitung

Eine vollständige, praxisnahe Anleitung für den Betrieb von Dify auf deinem eigenen VPS. Von der Serverwahl bis zu SSL-Zertifikaten und laufender Wartung — alles an einem Ort.

Anbieter vergleichen → Hetzner VPS ab €3,79/Mon.

Inhaltsverzeichnis

  1. Mindestanforderungen
  2. Schritt 1: Server auswählen und einrichten
  3. Schritt 2: Docker installieren
  4. Schritt 3: Dify klonen und konfigurieren
  5. Schritt 4: Dify starten
  6. Schritt 5: SSL mit Nginx einrichten
  7. Schritt 6: Produktion absichern
  8. Wartung und Updates

Mindestanforderungen

🖥️
vCPU
2 vCPU
Minimum
💾
RAM
4 GB
8 GB empfohlen
💿
Speicher
50 GB SSD
NVMe bevorzugt
🐧
Betriebssystem
Ubuntu 22.04
LTS
🐳
Docker
24.0+
Engine
📦
Compose
2.0+
Plugin

Empfehlung: Hetzner CX32 (€5,59/Mon.) — 4 vCPU, 8 GB RAM, 80 GB NVMe. Idealer Dify-Produktionsserver. Jetzt testen →

Server auswählen und einrichten

1

VPS erstellen und SSH-Zugang einrichten

Erstelle einen VPS mit Ubuntu 22.04 LTS. Füge beim Erstellen deinen SSH-Public-Key hinzu. Nach der Provisionierung (30–60 Sekunden) per SSH verbinden:

ssh root@DEINE_SERVER_IP
2

System aktualisieren

Alle Pakete auf einem frischen Server aktualisieren:

apt update && apt upgrade -y
3

Nicht-Root-Benutzer erstellen (empfohlen)

Aus Sicherheitsgründen empfehlen wir, einen nicht-Root-Benutzer zu erstellen:

adduser dify
usermod -aG sudo dify
# SSH-Schlüssel für neuen Benutzer kopieren
rsync --archive --chown=dify:dify ~/.ssh /home/dify
4

Firewall konfigurieren

UFW-Firewall für SSH, HTTP und HTTPS einrichten:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Docker Engine installieren

1

Docker mit offiziellem Skript installieren

Das offizielle Docker-Installationsskript funktioniert auf Ubuntu 22.04 zuverlässig:

curl -fsSL https://get.docker.com | sh
apt-get install -y docker-compose-plugin
# Installation prüfen
docker --version
docker compose version
2

Benutzer zur Docker-Gruppe hinzufügen

Damit du Docker ohne sudo ausführen kannst:

usermod -aG docker dify
# Neue Sitzung beginnen oder ausführen:
newgrp docker

Dify klonen und konfigurieren

1

Repository klonen

git clone https://github.com/langgenius/dify.git
cd dify/docker
2

Umgebungsvariablen konfigurieren

Beispieldatei kopieren und einen starken Secret-Key generieren:

cp .env.example .env

# Starken Secret-Key generieren:
openssl rand -base64 42

# Ergebnis in .env einsetzen:
nano .env
3

Wichtige .env-Einstellungen

Diese Werte musst du in der .env-Datei konfigurieren:

SECRET_KEY — Kryptografischer Schlüssel — muss zufällig und stark sein
CONSOLE_WEB_URL — Öffentliche URL deiner Dify-Instanz (z.B. https://dify.deine-domain.de)
APP_WEB_URL — Gleiche URL wie oben
FILES_URL — URL für Datei-Uploads

Dify starten

1

Container starten

Alle Dify-Container im Hintergrundmodus starten. Beim ersten Start werden ca. 4 GB Docker-Images heruntergeladen (5–10 Minuten):

docker compose up -d

# Startvorgang verfolgen:
docker compose logs -f

# Status aller Container prüfen:
docker compose ps
2

Erster Zugriff

Öffne http://DEINE_SERVER_IP im Browser. Du siehst den Dify-Einrichtungsassistenten. Erstelle das erste Admin-Konto und schließe die initiale Konfiguration ab.

SSL mit Nginx einrichten

1

Nginx und Certbot installieren

apt install -y nginx certbot python3-certbot-nginx
2

Nginx-Konfiguration erstellen

Erstelle eine neue Nginx-Site-Konfiguration:

nano /etc/nginx/sites-available/dify

Füge diesen Inhalt ein (ersetze deine-domain.de mit deiner Domain):

3

Site aktivieren und SSL-Zertifikat einrichten

ln -s /etc/nginx/sites-available/dify /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

# Kostenloses SSL-Zertifikat von Let's Encrypt holen:
certbot --nginx -d deine-domain.de -d www.deine-domain.de

Dify aktuell halten

Dify aktualisieren

Vor jedem Update die Datenbank sichern:

cd ~/dify/docker
git pull
docker compose pull
docker compose up -d

PostgreSQL-Datenbank sichern

docker compose exec db pg_dump -U postgres dify \
  > backup_$(date +%Y%m%d).sql

Container-Logs überprüfen

# Alle Container-Logs
docker compose logs -f

# Nur API-Server-Logs
docker compose logs -f api

Häufige Fehler und wie man sie vermeidet

1. Falsche Docker-Version installiert

Ein häufiger Fehler ist die Installation einer inkompatiblen Docker-Version. Dies kann passieren, wenn das Installationsskript nicht die neueste Version bezieht.

Fix: Überprüfen Sie die Docker-Version mit docker --version. Stellen Sie sicher, dass Sie die neueste Version verwenden. Aktualisieren Sie Docker bei Bedarf mit:

apt-get install --only-upgrade docker-ce

2. Fehlende Umgebungsvariablen

Einige Benutzer vergessen, die erforderlichen Umgebungsvariablen zu setzen, was zu Laufzeitfehlern führt.

Fix: Stellen Sie sicher, dass Sie alle notwendigen Variablen in Ihrer .env-Datei definiert haben. Ein Beispiel für eine fehlende Variable könnte DATABASE_URL sein.

3. Nginx-Konfiguration nicht korrekt

Fehlerhafte Nginx-Konfiguration führt oft zu 502 Bad Gateway-Fehlern.

Fix: Überprüfen Sie die Konfiguration mit nginx -t. Achten Sie darauf, dass der Upstream-Server korrekt definiert ist und auf den richtigen Port zeigt.

4. Ports nicht freigegeben

Manchmal sind die Ports 80 und 443 nicht in der Firewall geöffnet, was zu Verbindungsproblemen führt.

Fix: Überprüfen Sie die UFW-Regeln mit ufw status. Fügen Sie fehlende Regeln hinzu:

ufw allow 80/tcp
ufw allow 443/tcp

Erweiterte Konfiguration

1. Optimierung der Docker-Compose-Konfiguration

Um die Leistung zu verbessern, können Sie die Anzahl der Replikate erhöhen und Ressourcenlimits festlegen:

version: '3.8'
services:
  api:
    image: dify/api
    deploy:
      replicas: 3
    resources:
      limits:
        cpus: '0.5'
        memory: 512M

2. Caching aktivieren

Aktivieren Sie Caching in der Nginx-Konfiguration, um die Antwortzeiten zu verbessern:

location / {
    proxy_pass http://localhost:8000;
    proxy_cache my_cache;
    proxy_cache_valid 200 1h;
}