Dokploy : un PaaS open source auto-hébergé sur votre VPS
Dokploy est une plateforme de déploiement open source qui transforme un VPS Linux en PaaS (Platform as a Service) auto-hébergé. Le principe : vous connectez un dépôt Git, et Dokploy construit, déploie et expose votre application automatiquement, avec un certificat TLS et un nom de domaine, le tout sans quitter votre propre serveur. C'est le fonctionnement que proposent Vercel, Netlify ou Heroku, mais sur une infrastructure que vous contrôlez entièrement.
Concrètement, Dokploy s'installe en une seule commande, embarque Docker pour la conteneurisation et Traefik comme reverse proxy. Il prend en charge les applications web (Node.js, Python, Go, PHP, Ruby, Rust), les bases de données (MySQL, PostgreSQL, MongoDB, MariaDB, Redis) et les stacks Docker Compose complètes. L'interface web de gestion est accessible sur le port 3000 de votre VPS.
Ce guide couvre l'installation de Dokploy sur un VPS Linux, la configuration du nom de domaine via le reverse proxy Traefik intégré, et le déploiement d'une première application depuis un dépôt Git. Il s'adresse aux administrateurs qui veulent une alternative auto-hébergée aux plateformes cloud propriétaires, avec un contrôle total sur les données, les coûts et la configuration du serveur.
Prérequis : VPS Linux, RAM, CPU et stockage
Dokploy utilise Docker pour construire et exécuter les conteneurs applicatifs. L'installation en une commande installe Docker automatiquement s'il n'est pas déjà présent. Voici les prérequis matériels et logiciels selon la documentation officielle :
- RAM : 2 Go minimum. Dokploy lui-même consomme environ 250 Mo au repos, mais Docker a besoin de mémoire supplémentaire pendant les phases de build. Avec plusieurs applications déployées, 4 Go de RAM ou plus sont recommandés pour éviter les ralentissements.
- Stockage : 30 Go minimum. Les images Docker, les couches de build et les volumes de données occupent rapidement de l'espace disque. Prévoyez davantage si vous hébergez des bases de données ou des applications avec des assets volumineux.
- CPU : 2 vCPU suffisent pour un usage courant. Les phases de build (compilation, installation de dépendances) sont les plus gourmandes en processeur.
- Système d'exploitation : Ubuntu 24.04 LTS, Ubuntu 22.04 LTS, Debian 12, Debian 11, Fedora 40, CentOS 9 ou CentOS 8.
- Ports ouverts : 80 (HTTP), 443 (HTTPS) et 3000 (interface web Dokploy). Si votre VPS utilise un pare-feu UFW, ouvrez ces ports avant l'installation (guide pour ouvrir les ports avec UFW).
- Accès root : le script d'installation nécessite les droits root ou sudo.
Si Docker est déjà installé sur votre VPS, Dokploy l'utilise directement. Sinon, consultez notre guide d'installation de Docker sur un VPS pour une installation manuelle préalable.
Installer Dokploy en une commande
Connectez-vous à votre VPS en SSH (configurer l'authentification par clé SSH) et exécutez la commande officielle d'installation :
curl -sSL https://dokploy.com/install.sh | sh
Le script effectue automatiquement les opérations suivantes :
- Détecte la distribution Linux et installe Docker si nécessaire ;
- Initialise Docker Swarm (mode utilisé par Dokploy pour orchestrer les services) ;
- Télécharge et lance les conteneurs Dokploy (application, base de données interne, Traefik) ;
- Expose l'interface web sur le port 3000.
L'installation prend généralement moins d'une minute sur un VPS avec une connexion réseau correcte. Une fois terminée, le script affiche l'URL d'accès au tableau de bord.
Premier accès au tableau de bord Dokploy
Ouvrez votre navigateur et accédez à l'adresse suivante (remplacez par l'adresse IP de votre VPS) :
http://203.0.113.10:3000
Au premier accès, Dokploy affiche un formulaire de création du compte administrateur. Choisissez un mot de passe robuste : ce compte a un accès complet à toutes les applications et bases de données hébergées sur le serveur. Après la création du compte, vous accédez au tableau de bord principal qui affiche les projets, les applications déployées et les métriques de consommation (CPU, RAM, réseau).
Configurer un nom de domaine et le reverse proxy Traefik
Dokploy intègre Traefik, un reverse proxy qui route le trafic entrant vers les conteneurs applicatifs en fonction du nom de domaine. Traefik gère également les certificats TLS via Let's Encrypt, sans configuration manuelle.
Pointer le domaine vers votre VPS
Dans l'interface de gestion de votre nom de domaine (registrar ou zone DNS), créez un enregistrement DNS de type A qui pointe vers l'adresse IP de votre VPS :
Type : A
Nom : app.mondomaine.fr
Valeur : 203.0.113.10
TTL : 3600
Pour un sous-domaine wildcard (toutes les applications sur *.mondomaine.fr), créez un enregistrement A avec * comme nom. Attendez la propagation DNS (quelques minutes à quelques heures selon le TTL précédent) avant de passer à l'étape suivante.
Configurer le domaine dans Dokploy
Dans le tableau de bord Dokploy, accédez aux paramètres de votre application, puis à la section « Domains ». Ajoutez le nom de domaine complet (par exemple app.mondomaine.fr). Dokploy configure automatiquement Traefik pour router les requêtes entrantes vers le bon conteneur et demander un certificat TLS Let's Encrypt pour ce domaine.
Si votre VPS héberge déjà un serveur web Nginx en tant que reverse proxy, deux solutions : soit vous retirez Nginx et laissez Traefik gérer tout le trafic (la solution la plus simple avec Dokploy), soit vous placez Nginx en amont de Traefik. Pour approfondir la configuration d'un reverse proxy Nginx, consultez notre guide Nginx reverse proxy sur VPS Linux.
Déployer une application depuis un dépôt Git
C'est la fonctionnalité centrale de Dokploy : connecter un dépôt Git et obtenir un déploiement automatique à chaque push.
Créer un projet et une application
- Dans le tableau de bord, cliquez sur « Create Project » et donnez-lui un nom (par exemple « production ») ;
- Dans ce projet, cliquez sur « Create Service » puis « Application » ;
- Sélectionnez « GitHub » comme source (Dokploy supporte aussi GitLab, Bitbucket et tout dépôt Git accessible par URL) ;
- Autorisez Dokploy à accéder à votre compte GitHub, puis sélectionnez le dépôt et la branche à déployer.
Méthode de build
Dokploy propose trois méthodes pour construire votre application :
- Nixpacks : détection automatique du langage et du framework. Dokploy analyse le dépôt, identifie le runtime (Node.js, Python, Go, PHP, Ruby, Rust) et génère un conteneur optimisé sans que vous ayez à écrire un Dockerfile.
- Dockerfile : si votre dépôt contient un Dockerfile, Dokploy l'utilise directement pour construire l'image.
- Buildpacks Heroku : compatibilité avec les buildpacks utilisés sur Heroku, pour migrer une application existante sans modification.
Sélectionnez la méthode adaptée, configurez les variables d'environnement nécessaires (clés API, chaînes de connexion à la base de données), puis cliquez sur « Deploy ». Dokploy lance le build, affiche les logs en temps réel et expose l'application sur le domaine configuré.
Déploiement automatique (webhooks)
Par défaut, Dokploy crée un webhook sur le dépôt Git. À chaque push sur la branche configurée, un nouveau build se déclenche automatiquement. Les logs de chaque déploiement sont consultables dans l'interface, ce qui permet de diagnostiquer rapidement un échec de build ou un crash au démarrage.
Gérer les bases de données avec Dokploy
Dokploy permet de déployer des bases de données directement depuis l'interface, sans écrire de fichier Docker Compose. Les moteurs disponibles sont MySQL, PostgreSQL, MongoDB, MariaDB et Redis. Pour chaque base, Dokploy :
- crée un conteneur dédié avec un volume persistant pour les données ;
- génère les identifiants de connexion (utilisateur, mot de passe, chaîne de connexion) ;
- configure les sauvegardes automatiques vers une destination S3-compatible (optionnel).
Les applications déployées sur le même serveur Dokploy accèdent aux bases de données via le réseau interne Docker, sans exposer les ports de la base sur l'Internet public. Si vous gérez vos stacks Docker manuellement, notre guide Docker Compose sur VPS Linux détaille la configuration des réseaux et volumes.
Sécuriser l'accès à Dokploy
L'interface Dokploy est exposée sur le port 3000 et accessible depuis n'importe quelle adresse IP par défaut. Plusieurs mesures de sécurité sont recommandées après l'installation :
- Restreindre l'accès au port 3000 : configurez votre pare-feu pour n'autoriser le port 3000 qu'à vos adresses IP d'administration. Si vous utilisez UFW :
sudo ufw allow from VOTRE_IP to any port 3000. - Placer le tableau de bord derrière un domaine avec HTTPS : dans les paramètres de Dokploy (« Server Settings »), configurez un domaine pour l'interface elle-même. Traefik appliquera un certificat TLS et vous pourrez ensuite fermer le port 3000 dans le pare-feu.
- Activer l'authentification à deux facteurs : Dokploy supporte le 2FA depuis les paramètres du compte utilisateur.
- Mettre à jour régulièrement : Dokploy affiche les mises à jour disponibles dans l'interface. Un clic suffit pour appliquer la dernière version.
Pour durcir la configuration SSH de votre VPS (désactiver l'accès root, imposer les clés publiques), suivez notre guide sécuriser SSH sur VPS Linux. Surveillez ensuite la consommation de ressources de vos conteneurs avec htop et btop pour anticiper les besoins de redimensionnement du VPS.
Déployer une stack Docker Compose avec Dokploy
Dokploy ne se limite pas aux applications simples. Il permet aussi de déployer des stacks Docker Compose complètes : un fichier docker-compose.yml avec plusieurs services (application web, base de données, cache Redis, worker en arrière-plan). Dans l'interface, créez un service de type « Compose » au lieu de « Application », collez ou importez votre fichier Compose, et Dokploy orchestre le déploiement de l'ensemble.
Les stacks Compose déployées via Dokploy bénéficient du même routage Traefik : ajoutez les labels Traefik dans votre fichier Compose, et chaque service exposé obtient son propre domaine avec certificat TLS. Cette approche est adaptée aux architectures multi-services (API + frontend + base de données + cache) sur un seul VPS.
Dokploy en mode multi-serveur
Si votre projet dépasse la capacité d'un seul VPS, Dokploy prend en charge le déploiement sur plusieurs serveurs distants. L'interface centrale (installée sur le VPS principal) se connecte aux serveurs secondaires via SSH et y déploie les applications. Le serveur principal consomme alors peu de ressources (environ 250 Mo de RAM) car les builds et l'exécution sont déportés sur les serveurs distants.
Ce mode permet de séparer les environnements (staging sur un serveur, production sur un autre) ou de répartir la charge entre plusieurs VPS. La configuration se fait dans « Server Settings » du tableau de bord Dokploy.
Conclusion
Dokploy donne à un VPS Linux les capacités de déploiement d'une plateforme cloud : déploiement depuis Git, reverse proxy automatique avec Traefik et certificats TLS, gestion des bases de données, et monitoring intégré. L'installation en une commande et l'interface web rendent l'outil accessible sans expertise DevOps poussée, tout en gardant le contrôle total sur l'infrastructure.
Pour aller plus loin dans l'administration de votre VPS, consultez notre guide Certbot et Let's Encrypt sur VPS Linux pour comprendre le fonctionnement des certificats TLS, et notre comparatif des interfaces de gestion Docker (Portainer, Dockge, Cosmos) si vous préférez une approche sans PaaS intégré.
FiveM
Minecraft
Rust
RedM
Hytale