Guide de déploiement

Déployer vos applications avec Dokku sur un VPS

Déployer sur un VPS Cloud →

Déploiement7 min de lecture

Déployer vos applications avec Dokku sur un VPS

Dokku se présente comme « le plus petit PaaS au monde ». Construit autour de Docker et des buildpacks Heroku, il offre une expérience de déploiement par `git push` sur un VPS modeste, sans interface lourde. Voici comment l'installer et mettre en ligne votre première application.

Pourquoi choisir Dokku pour votre VPS

Là où d'autres PaaS embarquent une interface web et un orchestrateur complet, Dokku reste volontairement minimaliste : il s'agit d'un ensemble de scripts shell qui pilotent Docker. Vous poussez votre code avec git push dokku main, Dokku détecte le langage via les buildpacks Heroku ou un Dockerfile, construit l'image et met l'application en ligne. Tout se gère en ligne de commande, ce qui le rend extrêmement léger et prévisible. C'est le choix idéal pour les développeurs qui veulent un workflow Heroku-like sur un petit VPS, sans payer de surcouche et sans consommer de RAM pour un dashboard. Son écosystème de plugins (PostgreSQL, Redis, Let's Encrypt) couvre l'essentiel des besoins.

Les atouts concrets de Dokku

  • Empreinte mémoire minimale : tourne confortablement sur un VPS d'1 Go de RAM.
  • Déploiement par git push, comme sur Heroku, avec détection automatique du langage.
  • Support natif des buildpacks Heroku et des Dockerfiles, au choix selon votre projet.
  • Plugins officiels pour PostgreSQL, MySQL, Redis et MongoDB, gérés en CLI.
  • Plugin Let's Encrypt pour le HTTPS automatique et son renouvellement.
  • Zero-downtime deploys grâce aux checks de santé avant bascule du conteneur.

Prérequis pour Dokku

Dokku est le PaaS le plus économe en ressources de cette série. Un VPS d'1 Go de RAM et 1 vCPU suffit pour des applications légères, mais prévoyez 2 Go de RAM dès que vos builds utilisent des buildpacks (Node, Ruby, Python compilent en mémoire) ou que vous hébergez une base de données à côté. Comptez 25 Go de disque SSD. Le système recommandé est Ubuntu LTS fraîchement installé, sans Docker préinstallé (le script Dokku l'installe lui-même). Côté DNS : configurez soit un domaine par application, soit un domaine wildcard *.mondomaine.ma pour le déploiement par sous-domaine. Les ports 22 (SSH, indispensable pour le git push), 80 et 443 doivent être ouverts. Ajoutez votre clé SSH publique pour autoriser les déploiements.

Installer Dokku et déployer une application

01

Installer Dokku via le script officiel

Sur un Ubuntu propre : wget -NP . https://dokku.com/install/v0.34.0/bootstrap.sh puis sudo DOKKU_TAG=v0.34.0 bash bootstrap.sh. Le script installe Docker, Nginx et Dokku en quelques minutes.

02

Finaliser la configuration et ajouter votre clé SSH

Terminez l'installation en visitant l'IP du VPS dans un navigateur ou via la CLI. Ajoutez votre clé publique avec dokku ssh-keys:add admin < ~/.ssh/id_rsa.pub et définissez le domaine global : dokku domains:set-global mondomaine.ma.

03

Créer une application et son remote Git

Sur le serveur : dokku apps:create mon-app. Sur votre poste, ajoutez le remote : git remote add dokku dokku@mondomaine.ma:mon-app. Dokku créera automatiquement le sous-domaine mon-app.mondomaine.ma.

04

Provisionner une base de données

Installez le plugin : dokku plugin:install https://github.com/dokku/dokku-postgres.git. Créez une base avec dokku postgres:create ma-base puis liez-la à l'app : dokku postgres:link ma-base mon-app. La variable DATABASE_URL est injectée automatiquement.

05

Déployer et activer le HTTPS

Poussez votre code avec git push dokku main : Dokku build et déploie. Installez ensuite le plugin Let's Encrypt et lancez dokku letsencrypt:enable mon-app pour obtenir un certificat SSL automatique et configurer son renouvellement.

Activez le renouvellement automatique des certificats avec dokku letsencrypt:cron-job --add, sinon vos certificats expireront au bout de 90 jours. Pour des déploiements sans coupure, configurez un fichier CHECKS à la racine de votre projet : Dokku vérifie que la nouvelle version répond avant de basculer le trafic, garantissant un zero-downtime deploy. Sur un VPS à faible RAM, ajoutez 2 Go de swap pour éviter que les builds buildpack ne soient tués par le système (OOM killer).

Mettez Dokku en production sur votre VPS

Un VPS Cloud ServOrbit sous Ubuntu LTS, léger et abordable, est le terrain idéal pour Dokku et son workflow de déploiement par git push.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.