Aller au contenu

Dokploy : déployer ses applications sans complexifier son infrastructure

Publié le 3 min de lecture
  • devops
  • docker
  • deployment
Dokploy : déployer ses applications sans complexifier son infrastructure

Développer une application est une chose. La rendre accessible sur Internet en est une autre.

Il faut généralement un serveur, installer Docker, configurer un reverse proxy, gérer les domaines, les variables d’environnement, les certificats SSL, les logs, les bases de données… Et à mesure que le projet grandit, toutes ces petites tâches finissent par devenir difficiles à maintenir.

C’est précisément là que Dokploy entre en jeu.

Architecture DiagramArchitecture Diagram

Une alternative auto-hébergée

Dokploy est une plateforme open source et auto-hébergeable qui permet de déployer et gérer des applications directement sur ses propres serveurs.

L’idée est assez simple : au lieu de configurer manuellement chaque élément de son infrastructure, on dispose d’une interface qui centralise une grande partie de ces opérations.

Dokploy s’appuie notamment sur Docker pour exécuter les applications et sur Traefik pour gérer le routage.

On peut ainsi connecter un dépôt Git, définir la manière dont l’application doit être construite, renseigner les variables d’environnement et lancer le déploiement.

Du code au serveur

Imaginons une application Django stockée sur GitHub.

Le principe peut être résumé ainsi :

GitHub
   ↓
Dokploy
   ↓
Build de l'application
   ↓
Container Docker
   ↓
Traefik
   ↓
monapp.com

Dokploy prend en charge différents fournisseurs Git, notamment GitHub, GitLab, Bitbucket et Gitea. Il peut également déclencher automatiquement des déploiements grâce aux webhooks.

Cela permet de rapprocher le processus de déploiement du workflow déjà utilisé par les développeurs : je pousse mon code, l'application est redéployée.

Et si l'application est plus complexe ?

Dokploy ne se limite pas au déploiement d'une application isolée.

Il prend également en charge Docker Compose, ce qui permet de gérer plusieurs services au sein d’un même projet : une application, une base de données, un service de cache, etc.

Les bases de données peuvent également être déployées et administrées depuis Dokploy, avec notamment PostgreSQL, MySQL, MongoDB, MariaDB et Redis.

On retrouve aussi des fonctionnalités comme les logs en temps réel, le monitoring des ressources, les volumes et les sauvegardes.

Ce que Dokploy change réellement

L’intérêt de Dokploy n’est pas de faire disparaître Docker ou les notions d’infrastructure.

Au contraire, Docker reste au cœur du système.

La différence est que Dokploy ajoute une couche d’abstraction qui permet de manipuler cette infrastructure plus simplement.

Au lieu de passer systématiquement par le terminal pour configurer chaque composant, on dispose d’une interface centralisée pour gérer les applications, les domaines, les déploiements, les logs et les ressources.

Et surtout, contrairement à une plateforme entièrement gérée par un fournisseur, le serveur reste sous notre contrôle.

Une nouvelle façon de voir le déploiement

Dokploy ne remplace donc pas les connaissances en infrastructure. Il permet surtout de les rendre plus accessibles et de réduire la quantité de configuration répétitive.

Pour un développeur qui possède un VPS et souhaite déployer plusieurs projets sans construire toute son infrastructure à partir de zéro, c’est une approche particulièrement intéressante.

Le déploiement devient alors moins une succession de commandes et de fichiers de configuration, et davantage une partie naturelle du cycle de développement.

Développer, pousser, déployer.