Pourquoi installer CapRover sur votre VPS
Déployer une application sur un VPS brut implique de gérer manuellement Nginx, les certificats, les conteneurs Docker et les redémarrages. CapRover encapsule tout cela derrière une interface web et une CLI : il s'appuie sur Docker Swarm pour orchestrer vos conteneurs, génère automatiquement les certificats Let's Encrypt et propose un système de déploiement par git push ou par image Docker. Son catalogue « One-Click Apps » permet d'installer WordPress, PostgreSQL, Redis, MongoDB ou Ghost en quelques clics, chacun étant déployé dans son propre conteneur. C'est l'option idéale pour les développeurs et agences qui veulent l'expérience Heroku sans la facture, tout en gardant la maîtrise complète de leur serveur.
Les bénéfices concrets de CapRover
- Déploiement par
git pushou via la CLIcaprover deploy, sans configuration serveur à chaque release. - SSL Let's Encrypt automatique et renouvelé pour chaque domaine et sous-domaine.
- Catalogue One-Click pour installer bases de données et services courants en quelques secondes.
- Scaling horizontal natif grâce à Docker Swarm : ajoutez des nœuds workers à la volée.
- Interface web claire avec logs en direct, variables d'environnement et persistance de données.
- Webhooks de déploiement intégrables à GitHub, GitLab ou Bitbucket pour du CI/CD léger.
Prérequis pour CapRover
CapRover est raisonnable en ressources mais réserve de la mémoire pour Docker Swarm et le builder. Un VPS de 2 Go de RAM et 1 vCPU suffit pour des projets personnels et quelques petites applications ; passez à 4 Go de RAM et 2 vCPU dès que vous hébergez plusieurs applications avec leurs bases de données. Prévoyez 30 Go de disque SSD, car chaque build Docker consomme de l'espace temporaire. Côté réseau : un nom de domaine wildcard est fortement recommandé (*.apps.mondomaine.ma) afin que CapRover génère des sous-domaines à la volée pour chaque application. Les ports 80, 443 et 3000 (panneau d'admin) doivent être ouverts. Docker est installé automatiquement par le script CapRover, vous n'avez donc qu'à fournir un VPS Ubuntu propre.
Installer CapRover et déployer une application
Lancer l'installation en une commande
Sur un Ubuntu propre, exécutez docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover. CapRover initialise Docker Swarm et démarre son panneau d'administration sur le port 3000.
Configurer le domaine racine
Faites pointer un enregistrement DNS wildcard *.apps.mondomaine.ma vers l'IP du VPS. Dans le panneau, renseignez ce domaine racine : CapRover l'utilisera comme suffixe pour toutes vos applications et activera le HTTPS via Let's Encrypt en un clic.
Installer la CLI et se connecter
Sur votre poste : npm install -g caprover puis caprover login. Indiquez l'URL https://captain.apps.mondomaine.ma et le mot de passe défini à l'étape précédente. La CLI mémorise la connexion pour les déploiements suivants.
Créer et déployer une application
Dans le panneau, créez une app mon-api. Ajoutez un fichier captain-definition à la racine de votre projet pointant vers votre Dockerfile, puis lancez caprover deploy. CapRover construit l'image et met l'application en ligne sur https://mon-api.apps.mondomaine.ma.
Ajouter une base de données et persister les données
Depuis l'onglet One-Click Apps, installez PostgreSQL. Reliez votre application via les variables d'environnement générées, puis activez un volume persistant dans l'onglet « Persistent Directories » pour conserver les données entre les redéploiements.
Activez l'authentification à deux facteurs sur le panneau et restreignez l'accès au port 3000 par un pare-feu (ufw allow from VOTRE_IP to any port 3000). Pour du CI/CD, utilisez les webhooks de build de CapRover : chaque push sur votre branche main déclenche automatiquement un nouveau déploiement sans intervention manuelle. Pensez à augmenter la mémoire swap si vos builds Docker sont lourds, car le builder peut saturer un petit VPS pendant la compilation.