Dokploy : Plateforme de déploiement ultra-simple pour VPS et Homelab

13 juin 2026

Dokploy : Plateforme de déploiement ultra-simple pour VPS et Homelab

Fatigué par des configurations CI/CD complexes ? Vous voulez profiter de la puissance de Vercel tout en gardant un contrôle total sur votre infrastructure ? Dokploy est la réponse que vous cherchiez.

J’ai découvert Dokploy lors d’une migration frustrante de Kubernetes vers quelque chose de plus simple. Après avoir testé des dizaines de solutions, j’ai trouvé une plateforme qui combine la simplicité d’Heroku avec la flexibilité de Docker – et le meilleur de tout : il est entièrement open source.

Qu’est-ce que Dokploy ?

Dokploy est une plateforme de déploiement auto-hébergée qui transforme n’importe quel VPS en une machine de déploiement puissante. Pensez à Vercel ou Netlify, mais fonctionnant sur votre propre infrastructure, avec un support total de Docker et une intégration native avec GitHub/GitLab.

Pourquoi choisir Dokploy ?

Après des années à lutter contre Kubernetes, Docker Swarm et des scripts Bash personnalisés, j’ai trouvé en Dokploy une solution qui résout des problèmes réels :

Préparation de l’Environnement : Exigences

Avant de commencer, vous aurez besoin de :

Matériel minimum

Logiciel de Base

Étape 1 : Configuration initiale du serveur

Tout d’abord, préparons notre serveur. Si vous utilisez un VPS chez Hetzner, DigitalOcean, ou tout autre fournisseur :

Mise à jour du système

# Connectez-vous à votre serveur
ssh root@VOTRE_IP_ICI

# Mettez à jour le système

apt update && apt upgrade -y

# Installez les dépendances essentielles

apt install -y curl wget git ufw

Configuration du Pare-feu

# Configurez UFW pour une sécurité de base
ufw allow 22/tcp # SSH

ufw allow 80/tcp # HTTP

ufw allow 443/tcp # HTTPS

ufw allow 3000/tcp # Dokploy UI

ufw --force enable

Installation de Docker

# Installez Docker via le script officiel
curl -fsSL https://get.docker.com -o get-docker.sh

sh get-docker.sh

# Démarrez et activez Docker

systemctl start docker

systemctl enable docker

# Vérifiez l'installation

docker --version

docker-compose --version

Étape 2 : Installation de Dokploy

Maintenant, la partie la plus simple – installer Dokploy :

# Exécutez le script d'installation officiel

curl -sSL https://dokploy.com/install.sh | sh

Ce script va :

  1. Télécharger l’image Docker de Dokploy

  2. Configurer docker-compose.yml

  3. Lancer tous les services nécessaires

  4. Configurer nginx en proxy inverse

Vérification de l’installation

# Vérifiez que les conteneurs tournent
docker ps

# Vous devriez voir des conteneurs tels que :

# - dokploy

# - dokploy-postgres

# - dokploy-redis

Étape 3 : Premier accès et configuration

Accès à l’Interface Web

Ouvrez votre navigateur et accédez à :

http://VOTRE_IP:3000

Configuration Initiale

  1. Créer un compte Admin : définissez l’email et le mot de passe pour l’utilisateur administrateur

  2. Configurer le DNS : configurez votre domaine (optionnel pour le moment)

  3. Certificat SSL : configurez Let’s Encrypt pour un HTTPS automatique

Configuration de Domaine (Optionnelle mais Recommandée)

Si vous disposez d’un domaine :

# Configurez l'enregistrement DNS A pointant vers votre serveur

# exemple.com -> VOTRE_IP

# *.exemple.com -> VOTRE_IP (pour les sous-domaines automatiques)

Étape 4 : Déploiement de la première application

Nous allons déployer une application Elixir/Phoenix pour démontrer le pouvoir de Dokploy :

1. Préparation du dépôt

Assurez-vous que votre projet dispose de :

2. Création de l’application sur Dokploy

Dans l’interface web :

  1. Cliquez sur “New Application”

  2. Sélectionnez “GitHub Repository”

  3. Configurez le dépôt :

    • URL : https://github.com/utilisateur/projet

    • Branche : main

    • Build Path : . (racine du projet)

    • Dockerfile Path : Dockerfile

3. Configuration des Variables d’Environnement

Configurez les variables nécessaires :

# Exemple pour une application Phoenix
DATABASE_URL=postgresql://user:password@host:5432/dbname

SECRET_KEY_BASE=sua_secret_key_super_segura_aqui

MIX_ENV=prod

PORT=4000

PHX_HOST=exemple.com

4. Configuration de Base de Données

Dokploy facilite la création de bases :

  1. Cliquez sur “New Database”

  2. Sélectionnez PostgreSQL/MySQL/MongoDB

  3. Configurez les identifiants

  4. Connectez à l’application

5. Déploiement Automatique

Cliquez sur “Deploy” et regardez la magie opérer :

# Les logs en temps réel afficheront :

# → Clonage du dépôt…

# → Construction de l’image Docker…

# → Démarrage du conteneur…

# → Vérification de santé réussie ✅

# → Déploiement réussi !

Étape 5 : Configuration Avancée

SSL Automatique avec Let’s Encrypt

# Dans le panneau Dokploy, allez dans Settings > SSL

# Activez “Auto SSL” et configurez :

# – Email pour les certificats

# – Domaines à certifier

Sauvegarde Automatique

Configurez les sauvegardes pour la protection des données :

# Créez un script de sauvegarde

#!/bin/bash

# backup-dokploy.sh

DATE=$(date +%Y%m%d_%H%M%S)

BACKUP_DIR="/var/backups/dokploy"

mkdir -p $BACKUP_DIR

# Sauvegarde de la base de données

docker exec dokploy-postgres pg_dumpall -U postgres > $BACKUP_DIR/postgres_$DATE.sql

# Sauvegarde des volumes

tar -czf $BACKUP_DIR/volumes_$DATE.tar.gz /var/lib/docker/volumes/

# Ne conserver que les 7 derniers sauvegardes

find $BACKUP_DIR -name "*.sql" -mtime +7 -delete

find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

Surveillance de Base

Configurez des alertes simples :

# Installez htop pour la surveillance

apt install -y htop

# Configurez logrotate pour les logs Docker

echo '/var/lib/docker/containers/*/*-json.log {'

daily

missingok

rotate 7

compress

notifempty

create 644 root root

}' > /etc/logrotate.d/docker

Exemples Pratiques: Différents Types de Déploiement

Déploiement Node.js/Express

# Dockerfile

FROM node:18-alpine

WORKDIR /app

COPY package*.json ./

RUN npm ci --only=production

COPY . .

EXPOSE 3000

CMD ["npm", "start"]

Déploiement Python/FastAPI

# Dockerfile

FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Déploiement Site Statique

# Dockerfile

FROM nginx:alpine

COPY dist/ /usr/share/nginx/html/

EXPOSE 80

Dépannage : Problèmes Courants

Échec de la Build : Dockerfile introuvable

# Problème : Contexte de build incorrect

# Solution : Vérifiez le “Build Path” dans Dokploy

# Il doit pointer vers l’emplacement du Dockerfile

Application ne démarre pas : Liaison du Port

# Problème : l'application n'écoute pas sur le bon port

# Solution : configurez la variable PORT et liez à 0.0.0.0

PORT=4000

PHX_HOST=0.0.0.0 # Pour Phoenix

HOST=0.0.0.0 # Pour les autres apps

Problèmes de Connexion à la Base de Données

# Problème : l'application ne parvient pas à se connecter à la base

# Solution : utilisez le nom d'hôte interne de Docker

DATABASE_URL=postgresql://user:pass@dokploy-postgres:5432/db

Problèmes de Certificat SSL

# Problème : Le certificat ne se génère pas

# Solution : Vérifiez DNS et pare-feu

dig exemple.com # Doit retourner l’adresse IP du serveur

Avantages de Dokploy par rapport aux alternatives

Dokploy vs Kubernetes

Dokploy vs Docker Compose Manuel

Dokploy vs Services Cloud

Cas d’Utilisation Réels

Freelance avec des Projets Clients

En tant que freelance, j’utilise Dokploy pour héberger des projets de différents clients :

Résultat : marge bénéficiaire 40 % plus élevée par rapport à l’utilisation de services cloud.

Homelab pour Projets Personnels

Exécuter Dokploy sur un mini PC à domicile :

Résultat : zéro coût mensuel, contrôle total.

Prochaines Étapes et Optimisations

Configuration CI/CD Avancée

# .github/workflows/deploy.yml

name: Déployer vers Dokploy

on:

push:

branches: [main]

jobs:

deploy:

runs-on: ubuntu-latest

steps:

run: |

curl -X POST "${{ secrets.DOKPLOY_WEBHOOK_URL }}"

Surveillance Avancée

# Installez Prometheus + Grafana via Dokploy

# Configurez des tableaux de bord pour les métriques de l’application

# Réglez les alertes via Slack/Discord

Stratégie de Sauvegarde

# Script de sauvegarde complet pour la production

#!/bin/bash

# 1. Sauvegardes de la base de données

# 2. Sauvegarde des volumes Docker

# 3. Téléversement vers S3/BackBlaze

# 4. Vérification d’intégrité

Ressources Utiles

Documentation et Communauté

Templates et Exemples

Conclusion

Dokploy a totalement transformé ma façon de gérer les déploiements. Plutôt que de passer des heures à configurer des pipelines CI/CD complexes, j’ai désormais une plateforme qui « fonctionne simplement ».

La combinaison de la simplicité d’Heroku, de la flexibilité de Docker, et du contrôle total sur votre infrastructure vous offre Dokploy comme choix parfait pour les développeurs qui veulent se concentrer sur ce qu’ils savent faire de mieux : créer des produits incroyables.

Fabien Delpont

Auteur

Fabien Delpont

Fabien Delpont, développeur et créateur du site Python Doctor.