Guide de déploiement

Quitter Heroku et Vercel pour un VPS + Coolify

Déployer sur un VPS Cloud →

Tutoriel

Quitter Heroku et Vercel pour un VPS + Coolify

Déploiement10 min de lecture7 étapes

Heroku a supprimé son offre gratuite en 2022, puis revu ses tarifs à la hausse : un seul dyno Pro tourne désormais autour de 50 $/mois, et la facture grimpe vite pour une stack réelle. Vercel Pro facture 20 $/mois par membre et des dépassements sur les Edge Functions. Pour les agences et les développeurs indépendants, le point de rupture est souvent atteint bien avant d'avoir épuisé les capacités d'un VPS modeste. Ce guide explique comment évaluer le moment de partir, choisir le bon outil de déploiement et migrer sans interruption.

Sommaire· Heroku et Vercel : quand la facture dépasse la valeur1/9
  1. 01Heroku et Vercel : quand la facture dépasse la valeur
  2. 02Les 5 signaux qui indiquent qu'il faut migrer
  3. 03Break-even : Heroku Pro vs VPS + Coolify
  4. 04Coolify vs Dokploy vs Kamal
  5. 05Coolify sur VPS : le plus compatible avec Heroku
  6. 06Migrer une app Heroku vers Coolify en 7 étapes
  7. 07Erreurs courantes lors de la migration
  8. 08Après la migration — optimisations
  9. 09Migrer depuis Vercel — cas particulier des frontends SSR

Heroku et Vercel : quand la facture dépasse la valeur

Heroku était la référence du déploiement sans friction pour les startups et les agences depuis la fin des années 2000. La plateforme absorbait la complexité d'infrastructure en échange d'un abonnement mensuel prévisible. Depuis le rachat par Salesforce et la suppression du plan gratuit en novembre 2022, la proposition de valeur s'est détériorée : un dyno Standard-1X coûte 25 $/mois, un dyno Standard-2X monte à 50 $/mois, et une application avec un dyno web, un worker et un add-on Postgres dépasse facilement les 100 $/mois. Vercel a suivi un mouvement similaire : le plan Pro est à 20 $/mois par développeur, mais les dépassements sur les Serverless Functions, les Edge Requests et la bande passante s'accumulent discrètement en fin de mois. En septembre 2026, un fil Hacker News titré « Should I run plain Docker Compose in production in 2026? » (discussion #47962032, 22 sept. 2026) a cumulé plusieurs centaines de commentaires, révélant une tendance de fond : les équipes de taille moyenne reviennent en masse vers l'auto-hébergement, non par idéologie mais par arithmétique. Un VPS à 10-20 € par mois avec Coolify installé dessus reproduit 90 % de l'expérience Heroku — déploiement Git-push, rollbacks, variables d'environnement, domaines personnalisés — sans la structure tarifaire à l'usage qui punit la croissance. La question n'est plus « est-ce techniquement possible ? » mais « à quel moment le coût d'opportunité devient-il insupportable ? ».

Les 5 signaux qui indiquent qu'il faut migrer

  • Facture PaaS > 80 €/mois — Au-delà de ce seuil, un VPS entrée de gamme + Coolify amortit sa mise en place en moins de deux mois. Additionnez tous les dynos, workers et add-ons avant de comparer.
  • Scaling imprévisible — Les plateformes à tarification à l'usage (bandwidth, invocations, Edge Requests) rendent le budget mensuel difficile à prévoir ; un VPS offre un coût fixe et un scaling manuel ou automatisé sous votre contrôle.
  • Lock-in vendor — Heroku buildpacks propriétaires, Procfile non portable, add-ons liés à l'écosystème Salesforce : si votre stack ne peut pas tourner ailleurs sans réécriture, c'est un signal de dépendance critique.
  • Pas d'accès root — Certains besoins (réglages noyau, modules kernel, outils de performance bas niveau) sont impossibles sur PaaS managé ; un VPS donne l'accès complet à la machine.
  • CI/CD imposée par la plateforme — Heroku et Vercel privilégient leur propre pipeline de build ; sur un VPS avec Coolify, vous branchez GitHub Actions ou GitLab CI selon votre propre logique et déclenchez le déploiement via webhook.
  • Support dégradé ou réponse lente — Plusieurs utilisateurs signalent des temps de réponse du support Heroku allongés depuis la transition Salesforce ; auto-héberger votre stack vous libère de cette dépendance pour les incidents courants.

Break-even : Heroku Pro vs VPS + Coolify

Faites défiler le tableau

Heroku ProVPS Start + Coolify
Coût mensuel~50 $/dyno99 DH/mois
ScalabilitéDynos payants à l'unitéRAM/CPU modifiables à chaud
BuildpacksHeroku buildpacks natifsNixpacks (compatibles Heroku)
Accès rootNonOui
Zero-downtime deployHealth checks basiquesCoolify intégré
Add-ons base de donnéesHeroku Postgres (payant)PostgreSQL autogéré gratuit
LogsLogplex (limité)Accès complet journald / Docker

Coolify vs Dokploy vs Kamal

Faites défiler le tableau

CoolifyDokployKamal
Buildpacks Heroku (Nixpacks)OuiNonNon
Zero-downtime deployOuiOuiOui
Interface webOuiOuiNon (CLI)
Multi-serveurOuiOuiVia SSHKit
Docker Compose natifOuiOuiNon
LicenceAGPL-3.0MITMIT (Basecamp)
Prérequis serveur2 vCPU / 2 Go RAM1 vCPU / 1 Go RAMRuby + Docker

Coolify sur VPS : le plus compatible avec Heroku

Coolify est aujourd'hui l'outil d'auto-hébergement le plus proche de l'expérience Heroku, en version open source sous licence AGPL-3.0. Sa caractéristique principale est la prise en charge de Nixpacks, le moteur de buildpack open source créé par Railway qui comprend les Procfiles Heroku et construit des images Docker sans que vous ayez à écrire un Dockerfile. Concrètement, une application Node.js, Python (Django, FastAPI), Ruby on Rails ou PHP déployée sur Heroku peut être importée dans Coolify en pointant le même dépôt Git, sans modification du code. Le prérequis minimum recommandé par la documentation officielle de Coolify est 2 vCPU et 2 Go de RAM, ce qui correspond exactement au profil d'un VPS entrée de gamme. L'interface web propose la gestion des variables d'environnement par projet, les déploiements automatiques sur push Git, les rollbacks en un clic, les certificats TLS via Let's Encrypt et la gestion des domaines personnalisés. Coolify supporte également Docker Compose directement : si vous avez déjà une stack Compose pour votre développement local, vous pouvez la déployer telle quelle. L'installation sur un VPS neuf prend moins de dix minutes grâce au script officiel, et Coolify se met à jour via son propre mécanisme de mise à jour intégré à l'interface. Pour les équipes qui veulent gérer plusieurs serveurs depuis un tableau de bord unique, Coolify supporte le multi-serveur nativement depuis la version 4.

Migrer une app Heroku vers Coolify en 7 étapes

  1. Installer Coolify sur votre VPS

    Connectez-vous en SSH à votre VPS, puis lancez le script officiel : curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash. L'installation configure Docker, installe Coolify et lance l'interface sur le port 8000. Ouvrez ensuite http://<IP-VPS>:8000 pour créer votre compte administrateur.

  2. Créer un projet dans Coolify

    Dans l'interface Coolify, cliquez sur « New Project », donnez-lui le même nom que votre application Heroku. Ajoutez ensuite un « Resource » de type « Application » dans ce projet. Coolify va vous demander la source : choisissez « GitHub » ou « GitLab » selon votre dépôt, puis autorisez l'accès via OAuth.

  3. Connecter le dépôt Git et choisir le buildpack

    Sélectionnez votre dépôt et la branche de production. Coolify détecte automatiquement le type d'application via Nixpacks. Si votre projet a un Procfile, Coolify le lit et configure le processus web. Vous pouvez aussi forcer un Dockerfile existant ou passer en mode Docker Compose si vous avez un docker-compose.yml.

  4. Configurer les variables d'environnement

    Récupérez vos variables depuis Heroku avec heroku config -a <nom-app>. Copiez-les dans l'onglet « Environment Variables » de Coolify. Vérifiez particulièrement DATABASE_URL — le format Heroku (postgres://user:pass@host/db) est généralement compatible, mais si vous migrez aussi la base de données, mettez à jour l'URL pour pointer vers votre PostgreSQL autogéré.

  5. Lancer le premier déploiement

    Cliquez sur « Deploy ». Coolify construit l'image via Nixpacks, la pousse dans son registry interne et démarre le conteneur avec un health check. Surveillez les logs en temps réel dans l'onglet « Deployments ». Si le build échoue, l'erreur est affichée ligne par ligne — cherchez en priorité les dépendances système manquantes (librairies C, binaires natifs) que les buildpacks Heroku incluaient implicitement.

  6. Changer le DNS

    Dans Coolify, ajoutez votre domaine personnalisé dans les paramètres de l'application. Coolify génère automatiquement le certificat TLS via Let's Encrypt. Modifiez ensuite l'entrée DNS (A ou CNAME) pour pointer vers l'IP de votre VPS. La propagation prend entre quelques minutes et 48 heures selon le TTL de la zone.

  7. Valider 24-48 h en parallèle avant de supprimer Heroku

    Gardez votre application Heroku active pendant au moins 24 à 48 heures après la bascule DNS. Testez toutes les fonctionnalités critiques (paiement, notifications, webhooks entrants, tâches planifiées) sur la nouvelle instance. Ce n'est qu'une fois la validation complète que vous pouvez résilier l'abonnement Heroku et désactiver les dynos.

Gardez votre abonnement Heroku actif 48 h après la migration DNS pour disposer d'un rollback immédiat. Ne résiliez pas dès que le DNS pointe vers le nouveau serveur — les webhooks tiers, les tâches planifiées et les sessions utilisateur en cours nécessitent une validation sur la durée avant de couper définitivement l'ancienne plateforme.

Erreurs courantes lors de la migration

La migration depuis Heroku vers un VPS avec Coolify concentre quelques pièges récurrents qu'il vaut mieux connaître avant de commencer. Le premier est la conversion du Procfile : Heroku utilise un format web: node server.js qui est lu par Nixpacks, mais si votre application utilise des processus release (migrations automatiques au déploiement), ces hooks doivent être reconfigurés dans les scripts de démarrage Coolify ou via un point d'entrée Docker personnalisé. Le deuxième piège concerne les variables d'environnement manquantes : Heroku injecte automatiquement certaines variables (DYNO, PORT, HEROKU_APP_NAME) que votre code peut lire sans les avoir déclarées explicitement — vérifiez que votre application ne dépend pas de ces variables implicites. Le troisième problème est le timeout du health check : Coolify configure par défaut HEALTHCHECK --interval=30s --timeout=10s, et une application lente à démarrer sera considérée comme défaillante et redémarrée en boucle. Augmentez --start-period à 60 ou 120 secondes pour les applications volumineuses. Enfin, le format DATABASE_URL peut différer : Heroku utilise le schéma postgres://, tandis que certaines librairies modernes requièrent postgresql:// — une simple substitution dans la variable d'environnement règle le problème. Pour les bases de données, évitez de migrer Heroku Postgres et les données applicatives en même temps que l'infrastructure : faites d'abord tourner l'application sur le nouveau VPS en pointant toujours vers la base Heroku, puis migrez la base dans un second temps avec pg_dump et pg_restore.

Après la migration — optimisations

Une fois l'application stabilisée sur le VPS, plusieurs optimisations permettent d'atteindre un niveau de fiabilité supérieur à ce qu'offrait Heroku par défaut. La première priorité est les sauvegardes automatiques : configurez des snapshots quotidiens de votre VPS via le panneau de votre hébergeur, et ajoutez une sauvegarde applicative pour PostgreSQL avec pg_dump planifié par cron ou via l'interface de Coolify (qui intègre un gestionnaire de sauvegardes de bases de données depuis la version 4.0). La deuxième étape est le monitoring : installez Uptime Kuma sur le même VPS ou sur un second pour surveiller la disponibilité de vos applications avec des alertes par email, Telegram ou Slack. Pour un monitoring système plus complet (CPU, RAM, disque, réseau), Beszel est une alternative légère et moderne à Netdata, conçue pour les auto-hébergeurs. La troisième optimisation concerne la CI/CD : plutôt que de déclencher les déploiements uniquement depuis l'interface Coolify, configurez un webhook dans votre pipeline GitHub Actions pour automatiser les déploiements en production après validation des tests. Coolify expose un webhook par application qui accepte un POST HTTP avec un token — branchez-le en dernière étape de votre workflow CI. Cette architecture donne un pipeline complet : push → tests → build → déploiement automatique → health check, entièrement sous votre contrôle et sans dépendance vers une plateforme externe.

Migrer depuis Vercel — cas particulier des frontends SSR

Vercel est conçu pour les déploiements de frontends statiques et SSR, en particulier Next.js dont Vercel est l'éditeur. Si vous hébergez une application Next.js sur Vercel, Coolify supporte Next.js via Nixpacks et peut déployer l'application en mode next start dans un conteneur Docker. La migration est directe pour les projets qui n'utilisent pas les Edge Functions de Vercel ou le réseau CDN Edge distribué (les Vercel Edge Middleware). En revanche, si votre application dépend fortement des Edge Functions — logique d'authentification, redirections géolocalisées, A/B testing au niveau du CDN — une migration 1:1 vers Coolify n'est pas immédiate, car Coolify déploie sur un seul serveur et ne reproduit pas la topologie edge distribuée. Dans ce cas, deux approches sont envisageables : utiliser Dokploy pour les applications full-stack avec moins de dépendances Vercel-spécifiques, ou adopter Kamal (de Basecamp) combiné avec Nginx pour les équipes qui préfèrent une approche CLI pure sans interface web. Pour les frontends Nuxt.js, SvelteKit ou Astro sans Edge Functions, Coolify est la migration la plus simple : ces frameworks génèrent soit un build statique (exportable sur n'importe quel serveur), soit un serveur Node.js standard que Nixpacks détecte et conteneurise automatiquement. L'économie réalisée sur une stack Vercel Pro avec plusieurs développeurs peut dépasser 60 à 80 €/mois en passant sur un VPS unique avec Coolify, sans dégradation perceptible pour les utilisateurs finaux dans la grande majorité des cas d'usage.

Un VPS prêt pour Coolify dès aujourd'hui

Nos VPS cloud sont configurés pour Coolify en quelques minutes : accès root, IP dédiée, bande passante généreuse. Arrêtez de payer au dyno.

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