Qui a besoin d'un PaaS self-hosted ?
Un PaaS managé comme Heroku ou Render convient parfaitement pour un prototype ou un projet de taille modeste. Dès que vous hébergez plusieurs applications, ou que le trafic grossit, la facture monte en proportion — parfois au-delà du coût d'un VPS dédié. Coolify s'adresse à trois profils précis. Les agences web qui gèrent des dizaines de projets clients : un seul VPS Coolify remplace autant de comptes Heroku. Les indépendants qui souhaitent maîtriser leurs coûts d'infrastructure sans sacrifier la commodité du déploiement automatique. Les équipes qui ne peuvent pas confier leurs données à un tiers — RGPD, clients secteur public, données médicales ou financières. Dans les trois cas, Coolify reproduit le workflow PaaS (git push → déploiement) sur une infrastructure que vous contrôlez entièrement.
Coolify vs Heroku et Vercel : ce que vous gagnez
- Coût fixe et prévisible : vous payez le VPS, pas l'usage — un VPS à 10 € héberge autant d'applications que vous le souhaitez
- Données souveraines : aucune donnée ne quitte votre infrastructure, conformité RGPD simplifiée
- Déploiement automatique sur
git push: webhooks GitHub, GitLab et Gitea intégrés, sans plugin tiers - Détection automatique de la stack : Nixpacks, Dockerfile ou Docker Compose — Coolify choisit ou vous laissez la main
- Certificats SSL Let's Encrypt gérés automatiquement, renouvelés sans intervention
- Bases de données en un clic (PostgreSQL, MySQL, MongoDB, Redis) avec sauvegardes planifiées vers S3
- Pilotage multi-serveurs : une interface unique pour plusieurs VPS, répartition de charge possible
- Open source (licence Apache 2.0) : pas de vendor lock-in, le code est auditable et auto-hébergeable
Prérequis chiffrés avant l'installation
Coolify lui-même consomme peu de ressources, mais il orchestre Docker et héberge potentiellement vos applications et bases de données sur le même serveur. Prévoyez au minimum 2 vCPU et 2 Go de RAM pour Coolify seul. Dès que vous y faites tourner plusieurs services simultanément, 4 Go de RAM devient le plancher recommandé. L'espace disque dépend de vos applications : comptez 20 Go pour le système et Coolify, plus l'espace de vos images Docker et données.
Système d'exploitation : Ubuntu 22.04 LTS ou Debian 12 sur un serveur fraîchement provisionné. N'installez pas Docker manuellement au préalable — le script d'installation de Coolify gère cette étape et une version Docker pré-installée peut créer des conflits.
Ports à ouvrir dans votre pare-feu : 22 (SSH), 80 (HTTP), 443 (HTTPS) et 8000 (interface d'installation initiale de Coolify). Vous pouvez fermer le port 8000 après avoir configuré un domaine et basculé en HTTPS. Un nom de domaine ou sous-domaine est nécessaire pour l'interface Coolify et pour chaque application que vous déploierez.
Installer et déployer avec Coolify : 10 étapes
Provisionner un VPS propre
Commandez un VPS Ubuntu 22.04 LTS (ou Debian 12) dédié à Coolify. Mettez à jour les paquets : apt update && apt upgrade -y. Activez UFW en autorisant SSH (22), HTTP (80) et HTTPS (443), plus le port 8000 temporairement pour l'accès initial. N'installez pas Docker — le script d'installation s'en charge.
Lancer le script d'installation officiel
Exécutez le script d'installation en tant que root : curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash. Le script installe Docker, déploie la stack Coolify (qui tourne elle-même dans des conteneurs) et démarre le tableau de bord. L'installation prend une à trois minutes selon la connexion du serveur.
Créer le compte administrateur immédiatement
Ouvrez http://votre-ip:8000 dès la fin de l'installation et créez votre compte administrateur. Cette étape est urgente : tant que le compte n'est pas créé, la page d'inscription est accessible à quiconque connaît l'adresse IP du serveur. Le premier visiteur qui crée un compte obtient les droits d'administration complets.
Configurer le domaine de l'interface Coolify
Dans Paramètres > Instance, renseignez le domaine de l'instance (coolify.votre-domaine.com). Créez d'abord un enregistrement A dans votre DNS qui pointe vers l'IP du VPS. Coolify génère automatiquement le certificat SSL via Let's Encrypt et bascule l'accès en HTTPS. Vous pouvez ensuite fermer le port 8000 dans UFW.
Connecter une source Git
Dans Sources, ajoutez une intégration GitHub (via GitHub App) ou GitLab (via clé de déploiement ou OAuth). L'intégration GitHub App est recommandée : elle permet à Coolify de créer les webhooks automatiquement sur vos dépôts et de cloner des dépôts privés sans gestion manuelle de clés SSH.
Créer votre première application
Créez un projet, puis une ressource de type Application. Sélectionnez votre source Git, le dépôt et la branche de déploiement. Coolify analyse le dépôt et propose une méthode de build : Nixpacks (détection automatique de la stack Node, Python, PHP, Ruby, etc.), Dockerfile si le dépôt en contient un, ou Docker Compose. Renseignez le domaine de l'application et les variables d'environnement nécessaires.
Lancer le premier déploiement
Cliquez sur Déployer. Coolify clone le dépôt, exécute le build, crée le conteneur, configure le reverse proxy Traefik et génère le certificat SSL. Les logs de build s'affichent en temps réel dans l'interface. Un déploiement typique prend entre 30 secondes et 3 minutes selon la taille de l'application.
Provisionner une base de données
Dans votre projet, créez une ressource de type Base de données et choisissez le moteur (PostgreSQL, MySQL, MariaDB, MongoDB ou Redis). Coolify démarre le conteneur, génère un mot de passe aléatoire et affiche la chaîne de connexion. Injectez-la comme variable d'environnement dans votre application. Les sauvegardes planifiées vers un stockage S3 compatible se configurent directement depuis l'interface.
Configurer un domaine personnalisé pour l'application
Dans les paramètres de l'application, renseignez le ou les domaines. Créez les enregistrements A correspondants dans votre DNS. Coolify reconfigure Traefik et déclenche la génération des certificats SSL. Si votre domaine est derrière un CDN (Cloudflare en mode proxy), passez le type de certificat en DNS Challenge et renseignez le token API Cloudflare dans les paramètres de l'instance.
Activer les sauvegardes de Coolify lui-même
La configuration de toutes vos ressources (applications, bases, secrets) est stockée dans /data/coolify. Planifiez une sauvegarde de ce répertoire vers un stockage externe indépendant du VPS : en cas de perte du serveur, vous restaurez l'ensemble de l'environnement Coolify depuis cette archive. Une crontab ou un script rsync vers un bucket S3 suffit.
Configuration post-installation
Une fois la première application déployée, plusieurs réglages améliorent la fiabilité au quotidien.
Webhooks Git automatiques. L'intégration GitHub App ou GitLab OAuth crée les webhooks sur chaque dépôt au moment où vous configurez la ressource. Si vous utilisez une clé de déploiement SSH manuelle, créez le webhook côté Git en pointant vers https://coolify.votre-domaine.com/api/v1/deploy?uuid=<uuid-application>&secret=<secret>. L'UUID et le secret sont visibles dans l'onglet Webhooks de chaque ressource.
Variables d'environnement et secrets. Coolify distingue les variables visibles dans l'interface (variables d'environnement classiques) des secrets masqués (tokens, clés API). Les deux sont chiffrés en base. Vous pouvez définir des variables au niveau du projet — elles sont héritées par toutes les ressources — ou par ressource individuelle.
Monitoring intégré. L'onglet Métriques de chaque serveur affiche CPU, RAM et disque en temps réel. Vous pouvez configurer des notifications (email, Telegram, Slack, Discord, ntfy) pour les événements de déploiement, les erreurs et les alertes de ressources.
Mises à jour de Coolify. Les mises à jour se déclenchent depuis l'interface (Paramètres > Mettre à jour). Coolify tire la nouvelle version de ses images Docker, recrée ses propres conteneurs et redémarre. La mise à jour ne touche pas vos applications déployées.
Durcissement : accès réseau et authentification
Deux gestes à effectuer avant de mettre Coolify en production. Activez l'authentification à deux facteurs (2FA) sur votre compte administrateur : Paramètres > Profil > Authentification à deux facteurs. Fermez le port 8000 dans UFW après avoir configuré le domaine HTTPS (ufw delete allow 8000). Si votre VPS est exposé directement sur Internet sans CDN, envisagez de restreindre l'accès à l'interface Coolify par IP dans UFW — seul votre réseau ou VPN peut atteindre le panneau, tandis que le port 443 reste ouvert pour vos applications.
Dépannage : erreurs fréquentes
Le build échoue avec No build method detected. Nixpacks n'a pas reconnu la stack. Ajoutez un fichier Dockerfile à la racine du dépôt ou sélectionnez manuellement la méthode de build dans les paramètres de l'application (Docker Compose si vous en avez un). Vous pouvez aussi forcer la stack Nixpacks en ajoutant un fichier nixpacks.toml à la racine.
Le domaine affiche 502 Bad Gateway après le déploiement. L'application n'écoute pas sur le port attendu par Traefik. Vérifiez le port d'exposition dans les paramètres de la ressource : il doit correspondre au port sur lequel votre application écoute à l'intérieur du conteneur. Pour une app Node.js qui démarre sur le port 3000, renseignez 3000 dans le champ « Port ».
Le certificat SSL ne se génère pas, l'accès reste en HTTP. Vérifiez que l'enregistrement DNS A pointe bien vers l'IP du VPS (propagation parfois longue). Vérifiez que le port 80 est ouvert dans UFW — Let's Encrypt en mode HTTP Challenge doit pouvoir joindre le serveur sur ce port. Si vous êtes derrière Cloudflare en mode proxy, passez en DNS Challenge.
L'application redémarre en boucle (Restarting). La commande de démarrage échoue. Consultez les logs du conteneur dans l'onglet Logs de la ressource. L'erreur est généralement une variable d'environnement manquante, une connexion à la base de données impossible (vérifiez la chaîne de connexion) ou un port déjà utilisé sur le serveur.
Ressources insuffisantes : le build est tué (Killed). La mémoire du VPS est insuffisante pendant le build. Deux options : ajouter de la mémoire swap temporairement (fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile) ou migrer vers un VPS avec plus de RAM. Pour les applications Node.js volumineuses, ajoutez NODE_OPTIONS=--max-old-space-size=4096 dans les variables d'environnement de build.
Coolify, CapRover ou Dokploy : lequel choisir ?
Coolify n'est pas le seul PaaS self-hosted disponible. CapRover, Dokploy et Dokku couvrent des besoins similaires, avec des philosophies différentes. Coolify se distingue par son interface moderne, la prise en charge native du multi-serveurs et le monitoring intégré — il est adapté aux équipes qui gèrent un parc de serveurs depuis un point de contrôle unique. CapRover est plus léger et adapté à un usage mono-serveur avec un seul administrateur. Dokploy est plus récent, orienté Docker Compose et Kubernetes avec une interface épurée. Pour une comparaison détaillée des trois plateformes sur les critères qui comptent (ressources, build, bases de données, accès collaboratif), consultez notre article comparatif.