Coolify et Claude Code : déployer un projet sur votre propre VPS
MarkdownInstaller Coolify, connecter GitHub, déployer Next.js, configurer un domaine et HTTPS, MCP, exigences VPS et dépannage. Prix techniques libellés en dollars et limites d’origine.
Lire l’article complet
Documentation Ailoot — ressources de référence pour utiliser le service.
Limites de la plateforme et conditions de paiement en 2026
L’essentiel
Les offres gratuites fonctionnent jusqu’au premier dépassement d’une limite ; ensuite, une carte internationale est requise. Heroku a fermé son offre gratuite à tout le monde en 2022 et est passé en mode maintenance en février 2026. Avec Coolify auto-hébergé, le serveur vous appartient ; il n’y a ni facturation par siège ni dépendance à un fournisseur.
Un scénario typique de vibe coding en 2026 : vous créez un MVP en une soirée dans Cursor ou Claude Code, le déplacez vers un dépôt GitHub, ouvrez vercel.com → connectez le dépôt → arrivez à l’écran d’abonnement → saisissez votre carte → obtenez Transaction declined.
Ce n’est ni un bug ni une panne temporaire.
Railway, Render, Heroku : c’est la même histoire. Heroku a effectivement fermé son offre gratuite à tout le monde en 2022 et, en février 2026, le projet est passé en mode maintenance — sans nouvelles fonctionnalités ni nouveaux contrats Enterprise. Pour un utilisateur disposant d’une carte non prise en charge, cela signifie : « la porte est fermée ; passez par un intermédiaire qui facture une commission de 20 %. »
Vous pouvez payer avec des cartes Visa virtuelles au Kazakhstan ou par l’intermédiaire de services de paiement pour entreprises. Mais cela implique +20 % sur le prix, +30 minutes pour chaque transaction et le risque de voir votre compte bloqué si le prestataire de paiement détecte une incohérence de pays.
L’exemple d’origine comprenait trois tentatives — avec Vercel Pro, Railway et Render.
Qu’est-ce que Coolify et comment fonctionne une plateforme auto-hébergée ?
L’essentiel
Coolify est une PaaS open source auto-hébergeable et une alternative directe à Heroku, Vercel et Netlify. Son installation se fait avec une seule commande curl sur tout VPS exécutant Ubuntu. En coulisses, il utilise Docker + Traefik comme proxy inverse et Let's Encrypt pour HTTPS. Il prend en charge l’intégration GitHub, les webhooks pour les déploiements automatiques, les sauvegardes S3 et plus de 280 services installables en un clic (PostgreSQL, Redis, MinIO). La version auto-hébergée est gratuite à vie et sans limites. Elle compte 55,800 étoiles sur GitHub et est distribuée sous licence Apache-2.0.
Coolify est un projet open source fondé sur Laravel + Docker qui transforme n’importe quel VPS vierge en plateforme de déploiement d’applications. Installez Coolify une fois, puis gérez tout le reste depuis l’interface web : connectez GitHub, choisissez un dépôt et cliquez sur Deploy.
La documentation officielle le résume brièvement et précisément :
Coolify est une alternative open source et auto-hébergeable à Heroku / Netlify / Vercel, etc.
En coulisses, Coolify se compose de quatre éléments :
- Interface web construite avec Laravel 12 + Livewire 3 + Tailwind v4 — un tableau de bord pour gérer vos applications.
- Docker + Docker Compose — chaque application s’exécute dans un conteneur, isolé des autres.
- Proxy inverse (Traefik ou Caddy) — reçoit le trafic HTTP/HTTPS entrant et le dirige vers les conteneurs.
- Intégration Let's Encrypt — émet et renouvelle automatiquement les certificats SSL pour tous les domaines.
Les principales fonctionnalités qui rendent Coolify comparable à Vercel :
| Fonctionnalité | Vercel | Coolify |
|---|---|---|
| Déploiement automatique lors d’un git push | ✅ | ✅ (via un webhook GitHub) |
| HTTPS gratuit | ✅ | ✅ (Let's Encrypt) |
| Déploiements de prévisualisation des PR | ✅ | ✅ (via GitHub App) |
| Interface des variables d’environnement | ✅ | ✅ |
| Sauvegardes de bases de données | ❌ (pas de bases de données intégrées) | ✅ (vers un stockage compatible S3) |
| PostgreSQL / Redis / MongoDB | $20+/mois chacun | ✅ En un clic, gratuitement |
| Tâches planifiées (cron) | ❌ | ✅ (syntaxe cron) |
| Facturation par siège | $20/siège/mois | Aucune |
| Dépendance au fournisseur | Élevée (Edge Functions, ISR) | Nulle (votre Docker) |
| CDN mondial | ✅ | ❌ (votre VPS uniquement) |
Un CDN mondial est la seule chose que Coolify n’inclut pas d’emblée. C’est la réponse honnête. Si votre projet s’adresse à un public mondial et que vous devez réduire la latence pour les utilisateurs aux États-Unis et en Europe, placez Cloudflare devant ; son utilisation est gratuite pour le contenu statique.
Prix : la version auto-hébergée est gratuite à vie, sans limite du nombre d’applications, de serveurs ou de déploiements. Coolify Cloud est disponible à $5/mois pour 2 serveurs + $3 pour chaque serveur supplémentaire — mais les serveurs restent les vôtres ; Coolify Cloud héberge uniquement le tableau de bord.
La dernière version est v4.1.0 du 18 mai 2026. Parmi les nouveautés : le build pack Railpack en bêta, la journalisation d’audit, les différences de configuration entre déploiements et un point de terminaison MCP natif (en lecture seule). Source : versions sur GitHub.
Quel VPS choisir pour Coolify en 2026 ?
L’essentiel
Coolify nécessite au minimum 2 vCPU, 2 GB de RAM, 30 GB de SSD et Ubuntu LTS (20.04, 22.04 ou 24.04). Un tel VPS peut facilement exécuter 3–5 projets créés avec le vibe coding en parallèle.
Les exigences minimales de Coolify proviennent directement de la documentation officielle :
| Paramètre | Minimum | Recommandé |
|---|---|---|
| CPU | 2 cœurs | 2–4 cœurs |
| RAM | 2 GB | 4 GB (avec de la marge pour les builds) |
| Stockage | 30 GB | 50–80 GB (pour les images + bases de données) |
| Architecture | AMD64 ou ARM64 (64 bits) | AMD64 |
| Système d’exploitation | Ubuntu LTS 20.04 / 22.04 / 24.04 | 22.04 LTS |
| Root | Requis | Par clé SSH, pas par mot de passe |
Le minimum de 2 GB de RAM est une limite inférieure stricte. Avec 1 GB, le programme d’installation va jusqu’à Docker, rencontre une erreur OOM (out of memory) et se bloque. Ne lésinez pas sur la RAM.
Sources de prix : Timeweb Cloud, FirstVDS et Selectel.
Si vous avez besoin de davantage de puissance (une base de données de 100 GB, plusieurs instances Postgres), prenez Aeza Dedicated.
Ce qu’il ne faut PAS prendre :
- VPS partagé avec 512 MB–1 GB de RAM — même pas assez pour Coolify. Cette configuration est destinée aux sites statiques sous nginx, pas à une PaaS.
Vous voulez non seulement configurer le déploiement, mais aussi mettre en place une configuration qui rend Claude fiable ? Coolify est un outil d’exécution, mais sans contexte structuré (CLAUDE.md, un Second Brain et du Context Engineering), Claude continuera à halluciner sur les tâches longues. La configuration complète comprend ces trois éléments : clone IA + Second Brain + Context Engineering — cette combinaison transforme Claude, « un assistant qui hallucine », en un outil fiable.
Comment installer Coolify en 5 minutes
L’essentiel
L’installation se fait avec une seule commande curl tirée de la documentation. Une fois le processus lancé, une interface web apparaît sur le port 8000. Vous y créez le premier utilisateur administrateur et découvrez un tableau de bord vide. En pratique, il faut 5–7 minutes entre une installation Ubuntu vierge et Coolify en fonctionnement, dont 3–4 minutes consacrées à apt-get install docker. Le script récupère les dépendances nécessaires et configure Docker lui-même ; il suffit d’attendre la fin de l’opération.
Étape 1. Connectez-vous au VPS par SSH.
Après la création d’un VPS chez le fournisseur, l’adresse IP et le mot de passe root du serveur apparaissent dans un e-mail ou dans le panneau de contrôle. Connectez-vous depuis votre machine locale :
ssh root@1.2.3.4
Si le fournisseur vous a remis une clé SSH plutôt qu’un mot de passe, connectez-vous avec -i path/to/key. Pour la suite, nous partons du principe que vous utilisez une nouvelle installation Ubuntu 22.04 ou 24.04 LTS.
Étape 2. Exécutez la commande d’installation de Coolify.
Une commande tirée de la documentation officielle :
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
Le script effectue trois opérations :
- Vérifie le système (Ubuntu LTS ? root ? AMD64 ?)
- Installe Docker et Docker Compose s’ils ne le sont pas déjà
- Télécharge les images Coolify (
coolify/coolify,coolify/realtime,traefik) et les exécute en arrière-plan via docker-compose
Cela prend 3–5 minutes. Vous verrez défiler les journaux apt-get, puis docker pull. Lorsque Coolify v4.1.0 is now running apparaît, passez à l’étape 3.
Étape 3. Ouvrez l’interface web.
Ouvrez cette adresse dans votre navigateur :
http://1.2.3.4:8000
Coolify affiche un assistant de configuration — un formulaire permettant de créer le premier utilisateur. Saisissez une adresse e-mail et un mot de passe, puis enregistrez-les. Cet utilisateur devient automatiquement administrateur ; vous n’avez pas encore besoin d’en créer d’autres.
Après l’enregistrement, vous arrivez sur un tableau de bord vide : une barre latérale à gauche avec Resources / Projects / Servers / Sources / Notifications / Settings, et au centre l’invitation « Add your first resource ».
Étape 4. Ouvrez les ports dans le pare-feu du fournisseur (pas dans UFW).
Coolify fonctionne déjà, mais seul le port 8000 (le tableau de bord) est accessible depuis l’extérieur. Pour que les utilisateurs puissent accéder à vos applications, ouvrez les ports 80 (HTTP) et 443 (HTTPS) :
| Port | Usage |
|---|---|
| 22 | Accès SSH au serveur |
| 80 | Reçoit le trafic HTTP, nécessaire à la validation de Let's Encrypt |
| 443 | Reçoit le trafic HTTPS des utilisateurs |
| 8000 | Tableau de bord Coolify (nous fermerons ce port après avoir configuré un domaine personnalisé pour le tableau de bord) |
Un piège important signalé dans la documentation officielle :
Docker utilise des règles iptables basées sur NAT qui peuvent contourner les pare-feu Linux traditionnels tels que UFW.
Cela signifie que même si vous activez UFW et fermez tous les ports, Docker continuera d’exposer ses conteneurs via iptables. UFW ne sert à rien ici. La solution consiste à ouvrir et fermer les ports dans le panneau de contrôle du fournisseur, et non via UFW. Chez Timeweb / Selectel / Aeza, cela se fait dans la section « Network → Firewall » de la console web.
Étape 5 (facultative). Associez le tableau de bord à votre domaine.
Pour accéder à https://coolify.example.com au lieu de http://1.2.3.4:8000, créez un enregistrement DNS A coolify.example.com → 1.2.3.4, allez dans Settings → Instance Settings → Instance Domain dans Coolify, saisissez votre sous-domaine et enregistrez. Coolify demandera un certificat Let's Encrypt et, une minute plus tard, rechargera le tableau de bord en HTTPS.
Ensuite, vous pouvez fermer le port 8000 dans le pare-feu : le tableau de bord sera accessible en HTTPS sur le port standard 443.
Comment connecter GitHub : App ou PAT ?
L’essentiel
Coolify propose deux façons de se connecter à GitHub : GitHub App (recommandée) et Personal Access Token (PAT). Utilisez GitHub App : la configuration prend 5 minutes avec l’assistant, les aperçus de PR fonctionnent et les autorisations peuvent être précisément limitées au niveau du dépôt. PAT est une méthode obsolète, réservée aux cas hérités ; elle ne permet pas les déploiements de prévisualisation et comporte un risque d’accès global à tous vos dépôts. La documentation officielle l’affirme clairement : « pour 95 % des utilisateurs, GitHub App est le bon choix. »
Dans Coolify, allez dans Sources → + Add → GitHub App. Coolify affiche un assistant en trois écrans :
- Name & description — nommez la source (saisissez
github-main) et ajoutez éventuellement une description. - Configure on GitHub — un bouton qui vous redirige vers GitHub.com et ouvre automatiquement un formulaire de création de GitHub App avec les autorisations adéquates.
- Confirm — après votre retour de GitHub, cliquez sur « Save ».
À la deuxième étape, GitHub vous demandera de confirmer les autorisations requises par Coolify :
| Autorisation | Niveau | Usage |
|---|---|---|
| Contents | Lecture seule | Cloner le dépôt |
| Pull Requests | Lecture-écriture | Créer des déploiements de prévisualisation et commenter les PR |
| Adresses e-mail | Lecture seule | Identifier les commits |
| Métadonnées | Lecture seule | Lister les dépôts |
Il s’agit des autorisations minimales — la GitHub App ne peut pas voir vos clés privées, ne peut pas écrire dans main et ne peut pas accéder aux dépôts que vous n’avez pas explicitement connectés.
Extrait de la documentation officielle :
Personal Access Token (PAT) est l’ancienne méthode ; je recommande de ne pas l’utiliser. Inconvénients :
- PAT accorde un accès global à tous vos dépôts (y compris les dépôts privés)
- Les aperçus de PR ne fonctionnent pas — cette fonctionnalité est réservée à GitHub App
- Le jeton reste valide longtemps (90 jours, un an ou indéfiniment) — en cas de fuite, c’est problématique
N’utilisez PAT que si vous travaillez avec un dépôt d’organisation dont la politique de sécurité interdit GitHub Apps et qu’il n’existe aucune autre solution.
Après avoir enregistré la source dans Coolify, la GitHub App apparaît dans le tableau de bord avec la liste des dépôts connectés. Lors de la création d’une application, vous pourrez en sélectionner un en un clic.
Comment déployer un projet Next.js depuis Claude Code en 6 étapes
L’essentiel
Le parcours complet, d’une configuration Claude Code vierge à un site en ligne : 1) exécutez claude dans un dossier vide, décrivez le projet et Claude génère le code ; 2) exécutez git init && git remote add (Claude peut le faire lui-même à l’aide d’une commande slash) ; 3) poussez le code sur GitHub ; 4) dans Coolify, choisissez « + New Resource → Application » et sélectionnez le dépôt ; 5) ajoutez les variables d’environnement ; 6) cliquez sur Deploy. Coolify détecte Next.js, choisit le build pack Nixpacks, crée une image Docker en 3–5 minutes et fournit un domaine temporaire, avec HTTPS prêt à l’emploi.
Étape 1. Décrivez le projet à Claude Code dans un dossier vide.
mkdir my-vibe-app
cd my-vibe-app
git init
claude
Dans la session :
Build a Next.js 14 app router project:
- a home page with a list of users
- /api/users endpoint returns an array from the database
- Postgres via Prisma
- Tailwind for styles
- .env.example with DATABASE_URL
- README.md with instructions for running the project
Claude générera l’arborescence, package.json, prisma/schema.prisma et .env.example. Demandez aussi :
Create a Dockerfile for production builds and a .dockerignore.
C’est facultatif — Coolify peut compiler avec Nixpacks même sans Dockerfile. Mais un Dockerfile vous donne le contrôle du processus et accélère les projets plus volumineux.
Étape 2. Créez un dépôt GitHub et poussez-y le code.
Vous pouvez le faire manuellement via l’interface GitHub + git remote add origin ..., mais Claude Code peut aussi s’en charger :
/commit-push-pr Initial Next.js app generated with Claude Code
Ou dites simplement : « Committe tout et pousse le code dans un nouveau dépôt my-vibe-app sur mon compte. » Claude utilisera la CLI gh pour créer un dépôt privé (ou public) et effectuer le premier push. Source : commande officielle Claude Code.
Étape 3. Créez une application dans Coolify.
Dans le tableau de bord Coolify, cliquez sur + New → Application. Un formulaire s’ouvre :
- Source — sélectionnez
github-main(la GitHub App que vous avez connectée dans le H2 précédent) - Repository — sélectionnez
my-vibe-appdans la liste - Branch —
main - Build Pack — Coolify le détecte automatiquement. Si un Dockerfile est présent, il utilisera
dockerfile. Sinon, il utiliseranixpacks. Vous pouvez modifier ce choix manuellement. - Domain — conservez la valeur suggérée pour le moment ; elle est temporaire et vous la remplacerez ensuite par votre propre domaine
- Port —
3000par défaut pour Next.js
Enregistrez.
Étape 4. Ajoutez les variables d’environnement.
Dans l’application créée, ouvrez l’onglet Environment Variables. Ajoutez les variables une par une :
DATABASE_URL=postgresql://user:pass@db-host:5432/mydb
NODE_ENV=production
ANTHROPIC_API_KEY=sk-ant-...
Si vous n’avez pas de base de données, créez-en une directement dans Coolify : + New → Database → PostgreSQL. Coolify lancera un conteneur Postgres en 30 secondes et fournira une DATABASE_URL interne au format postgresql://postgres:pass@postgres-xyz:5432/postgres — ajoutez-la à votre application.
Toutes les variables sont chiffrées dans la base de données Coolify et n’apparaissent pas dans les journaux de build.
Étape 5. Cliquez sur Deploy.
Un bouton bleu Deploy se trouve en haut à droite. Les journaux en direct apparaissent dans l’onglet Logs :
[stage: clone] Cloning '<repository-url-from-github>'
[stage: build] Detected Next.js, using Nixpacks
[stage: build] Installing Node 20, npm 10
[stage: build] npm install (245s)
[stage: build] npm run build (87s)
[stage: deploy] Creating container my-vibe-app-xyz
[stage: deploy] Container started, health check passed
[stage: proxy] Traefik routing configured for the temporary domain
[stage: ssl] Let's Encrypt cert issued for the temporary domain
Le premier build prend 3–5 minutes (il récupère l’image de base Node et installe les dépendances). Les builds suivants durent 60–90 secondes grâce à la mise en cache des couches Docker.
Lorsque le statut passe à Running, copiez l’URL de l’application dans Domains de Coolify et ouvrez cette adresse exacte. Elle remplace <app-url-from-coolify> ci-dessous ; ce libellé entre chevrons est un emplacement à remplir, pas une adresse réelle. Votre page d’accueil devrait apparaître, avec HTTPS prêt à l’emploi. Coolify l’utilise pour les domaines temporaires, afin que vous puissiez ouvrir le site immédiatement sans configurer votre propre DNS.
Étape 6. Vérifiez que tout fonctionne.
Ouvrez cette URL avec /api/users ajouté, par exemple <app-url-from-coolify>/api/users, sans doubler la barre. C’est le point JSON créé à l’étape 1 ; la racine est la page d’accueil. En cas d’erreur 500, vous trouverez la trace de pile dans l’onglet Logs. Le problème le plus courant lors d’un premier déploiement est une DATABASE_URL qui pointe vers une base de données inexistante. Pour le résoudre, créez une instance PostgreSQL dans Coolify (voir l’étape 4 ci-dessus) et remplacez DATABASE_URL.
15 minutes à partir du moment où vous commandez le VPS. Dans l’exemple d’origine, ce parcours a pris 12–18 minutes sur un serveur vierge.
Comment configurer un domaine personnalisé et HTTPS
L’essentiel
La connexion d’un domaine personnalisé se fait en 3 étapes : créez un enregistrement DNS A qui pointe vers l’adresse IP du serveur, saisissez votre domaine dans la configuration Coolify à la place du domaine temporaire, activez Automatic HTTPS et cliquez sur Redeploy. Let's Encrypt émettra automatiquement un certificat SSL 2–3 minutes après la propagation DNS (généralement 5–30 minutes). L’exigence essentielle est que le DNS résolve déjà le domaine au moment où vous cliquez sur Redeploy ; sinon, la validation Let's Encrypt échouera et vous devrez attendre 12 minutes avant la prochaine tentative.
Étape 1. Créez un enregistrement DNS A dans le panneau de contrôle de votre bureau d’enregistrement.
Les exemples d’origine utilisent des domaines hébergés chez Reg.ru, Beget ou Timeweb. La procédure est la même :
| Type d’enregistrement | Nom | Valeur |
|---|---|---|
| A | app (ou @ pour la racine) | 1.2.3.4 (IP du serveur) |
Enregistrez, ouvrez une console et vérifiez :
dig app.example.com +short
# Devrait renvoyer 1.2.3.4
Si la commande ne renvoie rien ou renvoie une autre adresse IP, la propagation DNS n’est pas encore terminée. Attendez 5–30 minutes.
Étape 2. Saisissez votre domaine dans Coolify.
Dans l’application, ouvrez l’onglet Configuration → General. Dans le champ Domains, remplacez l’URL temporaire copiée de Coolify par https://app.example.com, en utilisant votre propre domaine configuré. Activez Automatic HTTPS (généralement activé par défaut).
Enregistrez et cliquez sur Redeploy.
Étape 3. Attendez le certificat Let's Encrypt.
Les journaux de build afficheront :
[stage: ssl] Requesting Let's Encrypt cert for app.example.com
[stage: ssl] HTTP challenge sent to /.well-known/acme-challenge/xxx
[stage: ssl] Validation passed, cert issued
[stage: ssl] Cert installed, HTTPS enabled
Dans 2–3 minutes, votre site sera disponible à l’adresse https://app.example.com, avec un cadenas vert dans la barre d’adresse.
Les trois principaux problèmes susceptibles de survenir avec Let's Encrypt figurent dans le guide officiel de dépannage :
- Le port 80 est fermé dans le pare-feu. Let's Encrypt valide le domaine au moyen d’une requête HTTP vers
http://app.example.com/.well-known/acme-challenge/xxx. La validation ne peut pas réussir sans le port 80. Ouvrez-le dans le pare-feu du fournisseur. - Le proxy Cloudflare est activé (nuage orange). Il intercepte la requête de Let's Encrypt et renvoie sa propre page provisoire — la validation échoue. La solution consiste à passer en mode « DNS only » (nuage gris) ou à configurer un challenge DNS-01 via l’API Cloudflare.
- La propagation DNS n’est pas encore terminée. Si vous avez créé un enregistrement A il y a 30 secondes et cliqué immédiatement sur Redeploy, Let's Encrypt ne verra pas encore votre domaine. Attendez 5–30 minutes pour que le DNS se propage sur les serveurs.
Limite de débit de Let's Encrypt : 5 tentatives échouées par heure pour un domaine, avec une récupération au rythme de 1 tentative toutes les 12 minutes. Si vous atteignez la limite, ne cliquez pas 10 fois de suite sur Redeploy ; consultez les journaux, corrigez le problème et réessayez dans 12 minutes.
Comment Claude Code gère-t-il Coolify via MCP ?
L’essentiel
Grâce au Model Context Protocol, Claude Code accède directement à l’API Coolify — vous pouvez lui dire « déploie cette application » pour démarrer un build, vérifier le statut, lire les journaux ou mettre à jour les variables d’environnement. Il existe trois options : forsonny/Coolify-MCP-Server (basique, 7 catégories d’opérations), dazeb/coolify-mcp-enhanced (plus de 15 outils supplémentaires avec déploiement de base de données en un clic) et ajmcclary/Coolify-Manager (un Claude Skill fondé sur la CLI officielle). Depuis v4.1.0 (18 mai 2026), Coolify fournit un point de terminaison MCP natif, sans serveur tiers — mais en lecture seule pour le moment.
Le Model Context Protocol (MCP) est une norme d’Anthropic qui permet à Claude Code de communiquer avec des systèmes externes (consultez le guide des serveurs MCP pour en savoir plus). Connectez un serveur MCP et Claude reçoit un ensemble d’outils qu’il peut appeler. Il existe trois serveurs Coolify prêts à l’emploi, ainsi qu’une option native.
Option 1. forsonny/Coolify-MCP-Server-for-Claude-Code — basique.
Fonctionnalités :
- Applications : créer, démarrer, arrêter, redémarrer
- Services : lister, créer, démarrer/arrêter/redémarrer
- Déploiements : afficher ceux en cours, récupérer par UUID
- Équipes et membres : lister, obtenir des informations
- Clés SSH : lister, créer
- Variables d’environnement : CRUD complet pour les applications et services
- Informations serveur : domaines par serveur, état, version
Installation :
git clone '<OFFICIAL_URL>'
cd Coolify-MCP-Server-for-Claude-Code
npm install
npm run build
# In .env:
# COOLIFY_BASE_URL=https://coolify.example.com
# COOLIFY_API_TOKEN=[from Coolify Settings → API Tokens]
npm run setup # automatically configures Claude Code
Ensuite, vous pouvez écrire ceci dans Claude Code :
Show the status of the my-vibe-app application in Coolify and the 3 latest deployments.
Claude renverra un tableau.
Option 2. dazeb/coolify-mcp-enhanced — améliorée (recommandée).
Fonctionnalités ajoutées à l’ensemble de base :
- Déploiement en un clic de PostgreSQL / Redis / MinIO via l’IA — demandez « configure Postgres pour moi » : l’outil crée un conteneur et renvoie DATABASE_URL
- Surveillance en temps réel + utilisation des ressources — CPU/RAM pour chaque application en temps réel
- Mises à jour groupées de la configuration env — mettez à jour 20 variables avec une seule commande
- Prise en charge de Docker Compose — déployez des applications à plusieurs services
Configuration pour Claude Code (.mcp.json à la racine du projet) :
{
"mcpServers": {
"coolify-enhanced": {
"command": "node",
"args": ["/path/to/coolify-mcp-enhanced/dist/index.js"],
"env": {
"COOLIFY_ACCESS_TOKEN": "your-token-here",
"COOLIFY_BASE_URL": "https://coolify.example.com"
}
}
}
}
Option 3. ajmcclary/Coolify-Manager — un Claude Skill fondé sur la CLI.
Ce n’est pas un serveur MCP, mais un Claude Code Skill qui enveloppe la CLI officielle Coolify. Il comprend :
- Diagnostics de santé des services et conteneurs
- Diagnostics des certificats SSL
- Prise en charge de plusieurs instances (si vous avez plusieurs serveurs Coolify)
- Recettes de dépannage
Installation : téléchargez le skill et placez-le dans ~/.claude/skills/coolify-manager/. Claude Code le détectera et le proposera pour les tâches pertinentes.
Option 4 (nouveauté de mai 2026). MCP natif dans Coolify v4.1.0.
Le journal des modifications de v4.1.0 daté du 18 mai 2026 indique :
Ajout de la prise en charge MCP au niveau de l’instance, avec des outils en lecture seule pour les ressources Coolify et l’API/l’interface utilisateur.
Coolify fournit désormais son propre point de terminaison MCP — vous pouvez connecter Claude Code directement, sans serveur tiers. Pour l’instant, il est en lecture seule (listes d’applications, statuts, configurations), sans opérations de modification. Mais cela suffit pour la plupart des tâches comme « parle-moi de l’infrastructure ».
Connectez-le via .mcp.json :
{
"mcpServers": {
"coolify-native": {
"url": "https://coolify.example.com/api/v1/mcp",
"headers": {
"Authorization": "Bearer <your-api-token>"
}
}
}
}
Attendez-vous à l’accès en écriture complet du MCP natif en v4.2 ou v4.3 — l’équipe Coolify l’a promis d’ici à la fin de 2026.
5 pièges lors de votre premier déploiement — et comment les éviter
L’essentiel
Les erreurs les plus courantes lors d’un premier déploiement sont une RAM insuffisante, le port 80 fermé, le proxy Cloudflare qui perturbe Let's Encrypt, UFW incapable de protéger Docker et le choix de PAT au lieu de GitHub App. Elles sont toutes abordées dans la documentation officielle, mais il est facile d’y être confronté sans expérience pratique. Voici une liste de contrôle en 5 points, fondée sur l’expérience initiale d’installation de Coolify.
Piège 1 : moins de 2 GB de RAM — l’installation échoue avec OOM.
Symptôme : curl install.sh atteint docker pull coolify/coolify, se bloque à 70 %, puis le processus est tué avec Killed (signal 9). Les journaux de dmesg | tail affichent Out of memory: Killed process.
Solution :
# Créer un fichier swap de 4 GB pour résoudre temporairement le problème
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
À long terme, passez à 4 GB de RAM. Coolify fonctionne avec du swap, mais les builds de grands projets Next.js peuvent échouer.
Piège 2 : UFW est activé, mais Docker ouvre quand même les ports.
Symptôme : vous avez activé UFW et fermé tous les ports sauf 22, mais votre application reste accessible depuis Internet sur un port quelconque (par exemple 3000).
La raison, selon la documentation officielle :
Coolify fonctionne sur Docker, qui utilise des règles iptables basées sur NAT et peut contourner les pare-feu Linux traditionnels comme UFW.
Solution : utilisez le pare-feu dans le panneau de contrôle de votre fournisseur, pas UFW. Timeweb / Selectel / Aeza disposent d’une section « Firewall » ou « Network → Firewall » où vous configurez des règles au niveau du réseau virtuel — elles s’appliquent avant que les paquets n’atteignent Docker.
Une autre solution est ufw-docker, un script qui adapte UFW pour le rendre compatible avec Docker. Mais c’est plus compliqué que de cliquer dans le panneau de contrôle.
Piège 3 : le proxy Cloudflare (nuage orange) empêche Let's Encrypt de fonctionner.
Symptôme : après Redeploy, les journaux affichent Let's Encrypt validation failed - challenge returned 403.
Raison : Cloudflare relaie la requête HTTP de Let's Encrypt et renvoie sa propre page au lieu de votre fichier de challenge.
Solution — choisissez l’une des deux options :
- Passez en mode « DNS only » (nuage gris dans Cloudflare). Inconvénient : vous perdez le CDN et la protection de Cloudflare.
- Configurez un challenge DNS-01 via l’API Cloudflare. Dans Coolify, allez dans Settings → SSL Configuration, sélectionnez le fournisseur Cloudflare et saisissez un jeton API doté des autorisations Zone:Read et DNS:Edit. Let's Encrypt validera le domaine via un enregistrement TXT plutôt que HTTP.
La deuxième option est plus compliquée à configurer, mais conserve le proxy Cloudflare.
Piège 4 : PAT au lieu de GitHub App — les aperçus de PR ne fonctionnent pas.
Symptôme : vous avez connecté GitHub à l’aide d’un Personal Access Token ; tout fonctionne, mais aucun déploiement de prévisualisation n’est créé pour les PR. Vous avez ouvert une PR sur GitHub, mais rien n’est apparu dans Coolify.
Raison : les aperçus de PR sont une fonctionnalité exclusive à GitHub App. PAT ne reçoit pas les événements pull_request via un webhook.
Solution : reconnectez GitHub via l’application. Sources → Add → GitHub App → terminez l’assistant. Vous pouvez supprimer l’ancienne source PAT.
Piège 5 : « Coolify == Vercel » n’est pas tout à fait vrai.
Ce que Coolify ne fait pas d’emblée :
| Vercel | Coolify | Que faire |
|---|---|---|
| CDN mondial | Non | Placez Cloudflare devant (gratuit pour le contenu statique) |
| Incremental Static Regeneration | Non | revalidatePath ne fonctionne que sur votre serveur |
| Optimisation d’images | Non | Utilisez next/image avec un loader local ou Cloudflare Images |
| Mise à l’échelle automatique lors des pics | Non | Ajustez l’échelle manuellement ; passez à un VPS supérieur |
| Edge Functions | Non | Utilisez des routes API classiques |
Si votre projet est un SaaS à fort trafic, destiné à un public mondial avec des exigences de latence de < 100 ms partout dans le monde, Coolify ne convient pas ; choisissez Vercel Enterprise. Si vous faites du vibe coding et testez un MVP auprès de 100–1,000 utilisateurs par jour, Coolify couvre tous vos besoins.
D’après une analyse honnête de l’auto-hébergement :
Les 15 minutes annoncées dans le titre de ce guide correspondent au parcours idéal pour le premier déploiement d’un projet. Une configuration complète de l’infrastructure, avec surveillance, sauvegardes et alertes, prend une ou deux soirées. Soyez honnête avec vous-même.
Combien économiserez-vous en un an par rapport à Vercel ?
L’essentiel
Il faut aussi compter une « taxe temporelle cachée » de 5–10 heures pour la configuration initiale et de 1–2 heures par mois pour la maintenance.
Les montants Vercel ci-dessous sont des estimations de scénarios de mai 2026, pas des devis actuels. Ils ne couvrent qu’un côté : Coolify auto-hébergé est sans licence payante, mais VPS, sauvegardes, stockage, trafic et exploitation coûtent. Obtenez un devis adapté ; aucun prix VPS n’était fourni, donc une économie fixe ne serait pas étayée.
C est la facture mensuelle totale : VPS choisi, sauvegardes, trafic supplémentaire, surveillance et éventuelle option payante de tableau de bord. Comptez chaque poste une seule fois. r est votre coût horaire d’exploitation, dans la même devise. L’estimation de temps de l’article est de 5–10 heures initiales et 1–2 heures par mois, soit 17–34 heures la première année, puis 12–24 heures par an.
| Scénario | Vercel/mois estimé | Vercel/an | Infrastructure Coolify/mois | Coût total Coolify première année avec travail | Économie première année |
|---|---|---|---|---|---|
| Prototype, 100 000 visites/mois | $20 + ~$5 de trafic = $25 | $300 | C | 12C + (17–34)r | $300 − 12C − (17–34)r |
| Cinq projets sur un VPS | $20 + $30 de trafic/fonctions = $50 | $600 | C | 12C + (17–34)r | $600 − 12C − (17–34)r |
| Trois développeurs, cinq projets | $60 de sièges + $30 de trafic = $90 | $1 080 | C | 12C + (17–34)r | $1 080 − 12C − (17–34)r |
Utilisez un C distinct si les scénarios exigent différentes tailles de serveur. Le coût mensuel équivalent de première année est C + (17–34)r/12 ; les années suivantes donnent 12C + (12–24)r. Ajoutez aussi les coûts d’exploitation comparables côté Vercel. Un gain négatif signifie un auto-hébergement plus cher. Ne recomptez pas le salaire complet d’un ingénieur si r le comprend déjà.
Avant bascule, renseignez C depuis un devis réel et un plan de sauvegarde, choisissez r puis comparez un mois d’usage réel. Sans ces entrées, l’article fournit un modèle de coût, pas une économie en dollars prouvée.
Le principal avantage n’est pas l’argent. En passant à Coolify, la catégorie « dépendre de la politique de paiement de quelqu’un d’autre » disparaît. Les cartes virtuelles avec une commission de 20 % ne sont plus nécessaires.
Coolify n’est pas une version moins chère de Vercel. C’est une autre catégorie de produit : vous possédez l’infrastructure et en assumez la responsabilité ; l’économie éventuelle dépend du coût total, travail et complexité compris.
Si le déploiement d’un prototype est votre première tâche après sa génération dans Claude Code, la gestion de l’environnement (env, secrets, tâches planifiées, sauvegardes) fait partie du Context Engineering. Sans structure pour savoir « où se trouve chaque chose », Claude s’y perd et vous perdez du temps à chaque modification. La configuration complète comprend : clone IA (Skills et Subagents adaptés à votre méthodologie) + Second Brain (la base de connaissances du projet) + Context Engineering (Plan Mode, /compact, environnement d’exécution). Ce sont les 3 piliers sans lesquels l’IA hallucine.
Sources
- Documentation officielle Coolify : introduction
- Guide d’installation de Coolify
- Présentation des build packs Coolify
- Base de connaissances Coolify : pare-feu
- Dépannage Coolify : problèmes Let's Encrypt
- Tarifs Coolify
- Coolify sur GitHub : versions v4.1.0
- Présentation de Claude Code
- VPS Timeweb Cloud
- VPS FirstVDS
- VPS/VDS Selectel
- Tarifs Vercel
Le workflow complet du contexte : clone IA + Second Brain + Context Engineering.
Retrouvez d’autres ressources sur Ailoot.
Plus de détails
Questions fréquentes : Coolify et Claude Code : déployer un projet sur votre propre VPS
Quelle URL doit renvoyer du JSON après déploiement ?
Copiez l’URL affichée dans Domains de Coolify et ouvrez son chemin /api/users. La racine est la page d’accueil ; /api/users est le point JSON prévu dans l’exemple.
Comment savoir si l’auto-hébergement économise de l’argent ?
Additionnez VPS, sauvegardes, stockage, trafic, surveillance et options dans C. La première année vaut 12C plus 17–34 heures à votre coût horaire. Comparez au Vercel annuel du scénario en comptant l’exploitation comparable des deux côtés.