Bijgewerkt maart 2026 ~2 uur installatie

Hoe Dify zelf te hosten in 2026

Een volledige, praktische gids voor het uitvoeren van Dify op uw eigen VPS. Van het kiezen van een server tot SSL-certificaten en doorlopend onderhoud — alles wat u nodig heeft op één plek.

Wat is Dify zelf hosten?

Dify is een open source LLM-applicatieontwikkelplatform waarmee u AI-aangedreven apps, chatbots en RAG-pijplijnen kunt bouwen. Zelf hosten betekent Dify uitvoeren op uw eigen server in plaats van Dify Cloud te gebruiken.

U kiest zelf hosten boven Dify Cloud om drie hoofdredenen:

  • Kosten — Een Hetzner CX22 kost €3,79/maand versus $59/maand voor Dify Cloud Pro. Op teamschaal zijn de besparingen dramatisch.
  • Controle — Volledige toegang tot configuratie, plugins, aangepaste modellen, onbeperkte werkruimteleden en geen berichtlimieten.
  • Gegevensprivacy — Uw prompts, documenten en gespreksgeschiedenis verlaten nooit uw eigen infrastructuur. Essentieel voor gereguleerde sectoren.

De afweging is dat u verantwoordelijk bent voor installatie, updates en uptime. Deze gids maakt dat eenvoudig.

Serververeisten

Minimum

2 vCPU 4 GB RAM 50 GB SSD

Aanbevolen

4 vCPU 8 GB RAM 80 GB SSD

Besturingssysteem: Ubuntu 22.04 LTS (aanbevolen). Debian 11/12 werkt ook.

1

Een server kiezen

Voor de meeste zelf-hosters is Hetzner CX22 (€3,79/maand, 2 vCPU, 4 GB RAM, 40 GB NVMe) het beste startpunt. Het draait Dify en alle services comfortabel. Europese datacenters maken het ideaal voor AVG-naleving.

Voor beginners die een eenvoudiger configuratiescherm willen, begint Hostinger VPS vanaf $7,99/maand en bevat meer hulp. Als u 8 GB RAM nodig heeft, biedt hun KVM 2-plan voor $9,99/maand uitstekende waarde.

Tip: Maak de server aan met uw publieke SSH-sleutel al toegevoegd. Dit vermijdt wachtwoordauthenticatie volledig en is veiliger.

2

Initiële serverconfiguratie

Verbind met uw server en voer de initiële configuratie uit:

# SSH naar uw server
ssh root@UW_SERVER_IP

# Pakketten bijwerken
apt update && apt upgrade -y

# Essentiële tools installeren
apt install -y curl wget git ufw

# Een niet-root gebruiker aanmaken
adduser dify
usermod -aG sudo dify

# SSH-sleutels kopiëren naar nieuwe gebruiker
rsync --archive --chown=dify:dify ~/.ssh /home/dify

# UFW-firewall configureren
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp comment 'SSH'
ufw allow 80/tcp comment 'HTTP'
ufw allow 443/tcp comment 'HTTPS'
ufw --force enable
ufw status

Meld u nu af en opnieuw aan als de dify-gebruiker voor de resterende stappen.

3

Docker Engine installeren

Installeer Docker via de officiële apt-repository — gebruik niet de snap-versie:

# Vereisten installeren
sudo apt install -y ca-certificates curl gnupg lsb-release

# Officiële Docker GPG-sleutel toevoegen
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Docker apt-repository toevoegen
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker Engine installeren
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# Uw gebruiker toevoegen aan docker-groep (geen sudo nodig)
sudo usermod -aG docker $USER
newgrp docker

# Installatie verifiëren
docker --version
4

Docker Compose-plugin installeren

De Docker Compose-plugin is inbegrepen in het bovenstaande pakket. Controleer of het werkt:

# Docker Compose-versie controleren (moet v2.x zijn)
docker compose version

# Als niet geïnstalleerd, handmatig toevoegen
sudo apt install -y docker-compose-plugin
5

Dify klonen en configureren

Kloon de officiële Dify-repository en configureer uw omgeving:

# Repository klonen
git clone https://github.com/langgenius/dify.git
cd dify/docker

# Uw .env-bestand aanmaken vanuit het voorbeeld
cp .env.example .env

# Een veilige SECRET_KEY genereren
openssl rand -base64 42

# Het .env-bestand bewerken
nano .env

Belangrijke instellingen om bij te werken in .env:

# VERPLICHT: Stel een sterke willekeurige geheime sleutel in
SECRET_KEY=uw-gegenereerde-geheime-sleutel-hier

# Stel uw domein in (gebruikt in e-mails en links)
CONSOLE_URL=https://uw-domein.com
APP_URL=https://uw-domein.com

# Standaard databasewachtwoord wijzigen
DB_PASSWORD=uw-sterke-db-wachtwoord

# Standaard Redis-wachtwoord wijzigen
REDIS_PASSWORD=uw-sterke-redis-wachtwoord

# Optioneel: Voeg uw OpenAI API-sleutel toe voor snel starten
OPENAI_API_KEY=sk-...
6

Dify starten

Start alle Dify-services met Docker Compose:

# Alle services op de achtergrond starten
docker compose up -d

# Controleren of alle containers draaien
docker compose ps

# Logs volgen om het opstarten te zien (Ctrl+C om te stoppen)
docker compose logs -f

Zodra alle containers de status healthy tonen (duurt 1-2 minuten), bezoek http://UW_SERVER_IP om de beheerdersinstellingswizard te voltooien.

7

SSL configureren met Nginx

De Docker-stack van Dify bevat zijn eigen Nginx op poort 80. Voor SSL voegen we een host-niveau Nginx toe als reverse proxy ervoor. Wijzig eerst de Dify-poort om conflicten te vermijden:

# In dify/docker/.env, wijzig de Nginx-poort
EXPOSE_NGINX_PORT=8080

# Opnieuw starten om toe te passen
docker compose down && docker compose up -d

# Host Nginx en Certbot installeren
sudo apt install -y nginx certbot python3-certbot-nginx

# Nginx-configuratie aanmaken voor uw domein
sudo nano /etc/nginx/sites-available/dify

Voeg deze configuratie toe (vervang uw-domein.com):

server {
    listen 80;
    server_name uw-domein.com www.uw-domein.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 300s;
        client_max_body_size 100M;
    }
}
# Inschakelen en testen
sudo ln -s /etc/nginx/sites-available/dify /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

# SSL-certificaat verkrijgen (configureert Nginx automatisch voor HTTPS)
sudo certbot --nginx -d uw-domein.com -d www.uw-domein.com
8

Onderhoud

Dify updaten — Dify brengt regelmatig updates uit. Update zonder configuratiewijzigingen:

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

Back-up — Maak een back-up van uw PostgreSQL-database en geüploade bestanden:

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

# Back-up van geüploade bestanden
tar -czf dify_storage_$(date +%Y%m%d).tar.gz ./volumes/app/storage

Monitoring — Controleer het resourcegebruik:

# Containerresourcegebruik
docker stats

# Schijfgebruik
df -h
docker system df

Veelgestelde vragen

Poortconflict: iets gebruikt al poort 80

Een andere service (vaak Apache) bezet poort 80. Stop het (sudo systemctl stop apache2) of wijzig de Dify Nginx-poort in .env door EXPOSE_NGINX_PORT=8080 in te stellen.

Container sluit af met geheugengebrek fout

Dify heeft minimaal 4 GB RAM nodig. Controleer met free -h. Als RAM vol is, voeg een 4 GB swap-bestand toe: fallocate -l 4G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile.

Geen toegang tot de beheerdersinstellingspagina

Controleer of alle containers draaien (docker compose ps) en uw firewall poort 80 toestaat (sudo ufw status). De API-container heeft 30-60 seconden nodig om gereed te zijn — wacht op de status healthy.

Beheerderswachtwoord vergeten

Reset het via de API-container: docker compose exec api flask reset-password — volg de aanwijzingen om uw e-mailadres en nieuw wachtwoord in te voeren.

Hoe Dify updaten zonder downtime?

Voer docker compose pull uit om nieuwe images vooraf te downloaden, dan docker compose up -d om toe te passen. Docker Compose voert standaard rolling restarts uit, dus downtime is doorgaans minder dan 30 seconden.