Guide de déploiement

Coolify v4.3 sur VPS : pilotez vos apps sans PaaS managé

Déployer sur un VPS Cloud →

Tutoriel

Coolify v4.3 sur VPS : pilotez vos apps sans PaaS managé

Déploiement9 min de lecture8 étapes

La facture Heroku ou Railway finit par dépasser ce que le projet justifie, surtout quand l'agence héberge une dizaine de projets clients distincts. Coolify est une plateforme PaaS open source que vous installez sur votre propre VPS : Git push déclenche le build, les certificats SSL sont générés sans configuration, et la version 4.3 ajoute les deploy previews par PR, les backups de volumes planifiés et un audit log structuré. Un seul serveur, une seule interface, tous vos projets.

Sommaire· Le coût réel des PaaS managés pour une agence1/10
  1. 01Le coût réel des PaaS managés pour une agence
  2. 02Ce que Coolify v4.3 change par rapport aux versions précédentes
  3. 03Prérequis VPS pour héberger Coolify
  4. 04Installer Coolify sur un VPS Ubuntu 22.04
  5. 05Déployer sa première application depuis un dépôt Git
  6. 06Coolify vs Heroku vs Railway vs Dokploy — synthèse
  7. 07Configurer les deploy previews par PR et les backups de volumes
  8. 08Sauvegarder la configuration Coolify avant une mise à jour majeure
  9. 09Dépannage — erreurs courantes au démarrage
  10. 10Pour aller plus loin

Le coût réel des PaaS managés pour une agence

Heroku facture par dyno, Railway par heure de compute et par Go de bande passante sortante, Render par service actif. Dès qu'un projet client sort du plan gratuit — ou que le plan gratuit disparaît, comme Heroku l'a fait en novembre 2022 — la facture monte par paliers. Pour une agence qui gère huit à quinze applications, le cumul dépasse rapidement ce qu'un VPS dédié à l'orchestration coûterait sur l'année. La problématique n'est pas le prix d'un projet isolé : c'est la multiplication des lignes de facturation, chacune sur un cycle différent, avec des règles de dépassement propres à chaque plateforme. S'y ajoute le vendor lock-in : les variables d'environnement, les add-ons de base de données et les pipelines de déploiement sont des constructions propriétaires qu'il faudra migrer si la plateforme modifie ses tarifs ou sa politique de rétention. Coolify supprime ces lignes en les remplaçant par une seule : le VPS qui héberge l'orchestrateur.

Ce que Coolify v4.3 change par rapport aux versions précédentes

  • Deploy previews par PR — chaque pull request reçoit automatiquement un environnement de prévisualisation accessible par URL dédiée, avec certificat SSL propre, sans configuration manuelle
  • Backups de volumes planifiés — les volumes Docker peuvent être sauvegardés sur un stockage compatible S3 selon un planning configurable, avec rétention paramétrable
  • Audit log structuré — toutes les actions (déploiement, modification d'une variable, redémarrage, changement de configuration) sont enregistrées avec horodatage et identité de l'utilisateur
  • Gestion multi-utilisateurs améliorée — rôles et permissions par équipe, accès cloisonné par projet client
  • Interface de gestion des ressources repensée — vue consolidée RAM / CPU / stockage par service, pour identifier les containers surdimensionnés
  • Support Docker Compose v2 — compatibilité étendue avec les fichiers Compose existants, sans réécriture nécessaire
  • Notifications webhook enrichies — payload de déploiement structuré, compatible avec Slack, Discord et tout endpoint HTTP

Prérequis VPS pour héberger Coolify

Coolify orchestre Docker et peut faire tourner simultanément vos applications, vos bases de données et son propre panneau sur le même serveur. Les ressources minimales pour démarrer sont 2 vCPU et 2 Go de RAM — suffisant pour une poignée de services légers. En production, avec plusieurs projets clients actifs, prévoyez 4 Go de RAM : chaque container réserve sa mémoire, et les bases de données (PostgreSQL, Redis, MySQL) consomment de manière constante. Le stockage dépend de vos volumes : comptez au moins 40 Go SSD, davantage si vous activez les backups locaux. Les ports TCP 80 et 443 doivent être ouverts pour Let's Encrypt et le trafic applicatif. Le port 22 (SSH) est requis pour l'installation et l'administration. Coolify n'est pas compatible avec un VPS sur lequel Docker a déjà été installé manuellement avec une configuration non standard : partez d'une image Ubuntu 22.04 LTS fraîche ou Debian 12.

Si vous débutez avec la ligne de commande Linux, l'installation se résume aux quelques commandes ci-dessous. Une fois Coolify déployé, tout le reste — builds, certificats SSL, variables d'environnement, redémarrages — se pilote depuis son interface graphique. Vous n'avez plus besoin de SSH pour les opérations courantes.

Installer Coolify sur un VPS Ubuntu 22.04

  1. Provisionner le VPS et mettre à jour le système

    Commandez un VPS Ubuntu 22.04 LTS. Connectez-vous en SSH avec votre utilisateur root ou sudo, puis mettez à jour les paquets : apt update && apt upgrade -y. Ne pré-installez pas Docker : le script d'installation de Coolify s'en charge et configure les dépendances dans l'ordre attendu.

  2. Ouvrir les ports nécessaires

    Configurez UFW pour autoriser SSH, HTTP et HTTPS : ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable. Si votre fournisseur propose un pare-feu réseau en amont (groupe de sécurité, firewall cloud), appliquez les mêmes règles à ce niveau avant de continuer.

  3. Exécuter le script d'installation officiel

    Lancez le script fourni par Coolify : curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash. Le script installe Docker CE, déploie la stack Coolify (panneau, proxy Traefik, agent), et démarre les services. L'opération prend entre deux et cinq minutes selon la connexion du serveur.

  4. Accéder au panneau initial

    Une fois l'installation terminée, accédez à http://<IP-du-VPS>:8000 depuis votre navigateur. Coolify vous invite à créer le compte administrateur : choisissez un mot de passe fort, enregistrez-le dans votre gestionnaire de mots de passe. Ce compte a accès à toutes les ressources de l'instance.

  5. Configurer le domaine du panneau

    Dans les paramètres de l'instance (Settings > General), renseignez le sous-domaine que vous avez réservé pour Coolify, par exemple coolify.votredomaine.com. Assurez-vous que l'enregistrement A de ce sous-domaine pointe vers l'IP du VPS. Coolify génère et renouvelle automatiquement le certificat Let's Encrypt pour ce domaine et bascule l'accès en HTTPS.

  6. Connecter votre source Git

    Dans Sources, ajoutez votre intégration GitHub (via une GitHub App) ou GitLab. Une GitHub App est préférable à une clé de déploiement : elle permet à Coolify de créer des webhooks automatiquement sur chaque dépôt et de déclencher les deploy previews par PR sans configuration manuelle supplémentaire.

  7. Créer votre première application

    Cliquez sur New Resource > Application, sélectionnez votre dépôt, choisissez la branche de déploiement et le port exposé. Coolify détecte la stack via Nixpacks (Node.js, Python, PHP, Go, Ruby…) ou utilise le Dockerfile si vous en fournissez un. Validez : le premier build démarre immédiatement.

  8. Vérifier le déploiement

    Dans les logs de déploiement, suivez les étapes build → push → start. Une fois le container démarré, Coolify affiche l'URL publique de l'application avec son certificat SSL actif. Testez l'accès depuis un navigateur et vérifiez dans Resources que la consommation mémoire reste dans les limites attendues. Pour une agence gérant plusieurs clients, créez un Projet Coolify par client — chaque projet a ses propres variables d'environnement, ses propres membres d'équipe, et ses ressources sont isolées des autres projets.

Déployer sa première application depuis un dépôt Git

Coolify surveille la branche que vous avez désignée et déclenche un nouveau déploiement à chaque push via webhook. Le cycle complet — réception de l'événement GitHub/GitLab, build de l'image, arrêt du container précédent, démarrage du nouveau — prend généralement moins d'une minute pour une application Node.js standard. Les variables d'environnement sont gérées par secret chiffré dans la base de données de Coolify : elles ne transitent jamais en clair dans les logs. Pour une application qui nécessite une base de données, créez d'abord le service de base de données dans le même projet Coolify (New Resource > Database), notez les identifiants générés, puis ajoutez-les comme variables d'environnement dans l'application. Les deux services partagent automatiquement le même réseau Docker interne.

Coolify vs Heroku vs Railway vs Dokploy — synthèse

Faites défiler le tableau

Coolify (auto-hébergé)Heroku/Render/Railway
Modèle de coûtCoût du VPS uniquement, logiciel gratuitPar dyno/mois — $5 à $50+ par app selon le tier
Deploy previews par PROui, depuis v4.3 (septembre 2026)Oui (Review Apps), inclus dans les plans payants
Backups de volumes planifiésOui, vers S3-compatible — depuis v4.3Via add-ons payants (Heroku Postgres Backup)
Audit logOui, structuré — depuis v4.3Activity feed, non exportable nativement
Langages / stacks supportésTout ce que Nixpacks ou Docker supporteBuildpacks officiels (Node, Python, Ruby, Java, PHP, Go…)
Portabilité des donnéesVolumes Docker sur votre propre serveurDonnées chez Heroku/Salesforce

Configurer les deploy previews par PR et les backups de volumes

Les deploy previews s'activent depuis la page de configuration de l'application, dans l'onglet Preview Deployments. Une fois activé, chaque pull request ouverte sur le dépôt reçoit automatiquement un environnement éphémère accessible par une URL construite sur le modèle <pr-number>.<domaine-app>. Coolify gère le certificat SSL de cet environnement via Let's Encrypt et détruit l'environnement à la fermeture ou au merge de la PR. Pour les backups de volumes, rendez-vous dans Storage > Backups au niveau du service concerné. Renseignez les identifiants d'un bucket compatible S3 (AWS S3, Cloudflare R2, MinIO auto-hébergé), la fréquence souhaitée (quotidienne, hebdomadaire) et la rétention en nombre de copies. Coolify crée une archive compressée du volume et la transfère vers le bucket selon le planning défini. Vérifiez la première exécution manuellement depuis le tableau de bord pour confirmer que les identifiants S3 fonctionnent avant de vous reposer sur l'automatisation.

Sauvegarder la configuration Coolify avant une mise à jour majeure

Avant d'appliquer une mise à jour de Coolify depuis le panneau (Settings > Updates), sauvegardez la base de données interne de l'instance. Coolify stocke toute sa configuration dans un volume Docker nommé coolify-db. Exportez-le manuellement : docker run --rm -v coolify-db:/data -v $(pwd):/backup alpine tar czf /backup/coolify-db-$(date +%Y%m%d).tar.gz /data. Conservez cette archive hors du VPS (votre bucket S3, un stockage local) avant de lancer la mise à jour. En cas de problème après la mise à jour, restaurez avec la commande inverse. Cette précaution prend moins d'une minute et évite une reconstruction manuelle de toute la configuration.

Dépannage — erreurs courantes au démarrage

Quatre situations reviennent régulièrement lors des premières installations ou après une mise à jour.

Port 80 ou 443 déjà occupé. Coolify utilise Traefik comme reverse proxy sur les ports 80 et 443. Si un autre processus occupe ces ports (nginx, Apache installé directement sur le VPS), Traefik ne démarre pas et aucun certificat ne peut être émis. Vérifiez avec ss -tlnp | grep -E ':80|:443', arrêtez le processus concurrent, puis redémarrez Coolify avec docker compose -f /data/coolify/source/docker-compose.yml restart.

Webhook Git non déclenché après un push. La cause la plus fréquente est un pare-feu réseau qui bloque les adresses IP sortantes de GitHub ou GitLab vers votre VPS. Vérifiez que les plages IP de GitHub Webhooks (https://api.github.com/meta) sont autorisées sur le port 443 de votre VPS. Vérifiez également dans Coolify que le webhook a bien été créé dans les paramètres du dépôt GitHub (onglet Webhooks du dépôt).

Certificat SSL bloqué en attente. Let's Encrypt utilise le challenge HTTP-01 : il tente de joindre http://<votre-domaine>/.well-known/acme-challenge/. Si le DNS du domaine n'est pas encore propagé, ou si le port 80 n'est pas accessible depuis l'extérieur, le challenge échoue et Traefik retente toutes les cinq minutes. Attendez la propagation DNS complète, vérifiez l'accessibilité du port 80 avec curl -I http://<votre-domaine>, puis relancez le service applicatif dans Coolify.

Application démarrée mais inaccessible. Vérifiez que le port exposé dans la configuration Coolify correspond au port sur lequel votre application écoute réellement à l'intérieur du container. Un container Node.js qui écoute sur 3000 doit avoir 3000 comme port de container dans la configuration Coolify, même si l'URL publique utilise le port 443.

Pour aller plus loin

Coolify s'intègre dans un écosystème de solutions de déploiement auto-hébergées. Si votre contexte exige une approche différente — pipeline GitOps via Kamal, orchestration légère avec Dokploy, ou interface simplifiée avec Easypanel — chaque outil a ses forces selon la taille de l'équipe et la complexité des déploiements. Les articles associés explorent ces alternatives et les cas d'usage spécifiques à chaque environnement.

Démarrer avec Coolify sur un VPS ServOrbit

Configurez un VPS ServOrbit avec le template Coolify préinstallé : Docker configuré, panneau accessible, certificat SSL du panneau généré. Vous passez directement à la connexion de vos dépôts Git.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet