Introduction : Pourquoi Coolify pour votre PME ?
Les coûts cloud explosent pour les PME françaises. Entre AWS, Azure et Vercel, les factures mensuelles dépassent rapidement les 500-1000€ pour des applications modestes. Sans parler de la complexité des interfaces et des surprises de facturation.
Coolify change la donne. C’est une plateforme open-source qui transforme n’importe quel serveur VPS en alternative à Heroku ou Vercel. On garde le contrôle total sur l’infrastructure, les données restent en France, et les coûts sont prévisibles : le prix du serveur, point final.
Les avantages du self-hosting sont clairs :
- Contrôle total : vous gérez vos données et votre infrastructure
- Coûts fixes : un VPS OVH à 20€/mois vs 200€+ sur les clouds managés
- Souveraineté : vos données restent hébergées où vous le décidez
- Simplicité : interface visuelle pour gérer Docker sans ligne de commande
Ce tutoriel s’adresse aux CTOs de PME, développeurs et dirigeants techniques qui veulent reprendre la main sur leur infrastructure. On va déployer une application complète de A à Z, avec base de données et SSL automatique.
Prérequis techniques
Avant de commencer, voici ce qu’il vous faut :
Serveur VPS : un serveur chez OVH, Scaleway ou Hetzner avec minimum 2 Go de RAM et Ubuntu 22.04. Comptez 10-20€/mois selon les ressources.
Accès et domaine : accès SSH root au serveur et un nom de domaine pointé vers l’IP du serveur (enregistrements A et AAAA configurés).
Compétences de base : savoir se connecter en SSH et exécuter des commandes Linux. Pas besoin d’être expert Docker, Coolify s’occupe de tout.
Application à déployer : une application Dockerisée ou un repository Git. On utilisera un exemple Node.js dans ce tutoriel.
Installation de Coolify sur votre serveur
Connectez-vous à votre serveur en SSH :
ssh root@votre-serveur.comMettez à jour le système :
apt update && apt upgrade -yCoolify fournit un script d’installation qui configure Docker, Docker Compose et tous les composants nécessaires en une seule commande :
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bashLe script prend 2-3 minutes. Il installe :
- Docker Engine 24.x
- Docker Compose v2
- Coolify v4 et ses dépendances
- Traefik comme reverse proxy
- PostgreSQL pour la base de données interne
Une fois terminé, accédez à l’interface web via http://votre-ip:8000. Créez votre compte administrateur avec un mot de passe fort.
La première étape dans l’interface : configurez votre domaine principal dans Settings > Configuration. Coolify génère automatiquement un certificat SSL Let’s Encrypt. Après quelques minutes, accédez à Coolify via https://coolify.votre-domaine.com.
Configuration de votre premier projet
Dans le dashboard Coolify, cliquez sur New Project. Donnez-lui un nom explicite comme “app-production”.
Connectez votre dépôt Git :
- Allez dans Sources > Add Source
- Choisissez GitHub, GitLab ou Gitea
- Autorisez Coolify à accéder à vos repositories
- Sélectionnez le dépôt de votre application
Pour les variables d’environnement sensibles (clés API, secrets), utilisez la section Environment Variables du projet. Ces valeurs sont chiffrées et injectées au runtime :
DATABASE_URL=postgresql://user:password@postgres:5432/myappJWT_SECRET=votre-secret-super-securiseNODE_ENV=productionConfigurez votre domaine dans la section Domains. Ajoutez app.votre-domaine.com. Coolify configure automatiquement :
- Le certificat SSL Let’s Encrypt
- Le renouvellement automatique tous les 90 jours
- La redirection HTTP vers HTTPS
Choisissez le type de déploiement. Deux options :
- Dockerfile : Coolify détecte et build votre Dockerfile
- docker-compose.yml : pour les applications multi-services
Pour une application simple, le Dockerfile suffit. Pour une stack complète (app + base de données + Redis), utilisez docker-compose.
Déploiement d’une application Node.js avec Docker
Voici un Dockerfile optimisé pour production avec build multi-stage :
# Stage 1: BuildFROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./RUN npm ci --only=production
COPY . .RUN npm run build
# Stage 2: ProductionFROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/dist ./distCOPY --from=builder /app/node_modules ./node_modulesCOPY --from=builder /app/package.json ./
EXPOSE 3000
CMD ["node", "dist/index.js"]Ce Dockerfile réduit la taille de l’image finale de 1.2 Go à 150 Mo en excluant les dépendances de développement.
Pour une stack complète, créez un docker-compose.yml :
version: '3.8'
services: app: build: . ports: - "3000:3000" environment: - REDIS_URL=redis://redis:6379 - NODE_ENV=production depends_on: - redis restart: unless-stopped
redis: image: redis:7-alpine volumes: - redis_data:/data restart: unless-stopped
volumes: redis_data:Dans Coolify, retournez à votre projet et cliquez sur Deploy. Coolify :
- Clone votre repository
- Détecte le Dockerfile ou docker-compose.yml
- Build l’image Docker
- Lance les conteneurs
- Configure le reverse proxy Traefik
Surveillez les logs en temps réel dans l’onglet Logs. Le premier déploiement prend 3-5 minutes selon la taille de votre application.
Une fois terminé, testez votre application sur https://app.votre-domaine.com. Vérifiez que le SSL fonctionne et que l’application répond correctement.
Automatisation et déploiement continu
Configurez les webhooks Git pour déclencher un déploiement automatique à chaque push sur la branche main. Dans votre projet Coolify :
- Copiez l’URL du webhook dans Settings > Webhooks
- Ajoutez-la dans les paramètres de votre repository GitHub/GitLab
- Choisissez l’événement “Push”
À chaque commit sur main, Coolify rebuild et redéploie automatiquement. Le déploiement se fait sans downtime grâce au rolling update.
Les health checks surveillent la santé de votre application. Configurez-les dans Settings > Health Checks :
path: /healthinterval: 30stimeout: 5sretries: 3Si votre application expose une route /health, Coolify vérifie toutes les 30 secondes qu’elle répond. En cas d’échec après 3 tentatives, Coolify redémarre automatiquement le conteneur.
En cas d’échec de déploiement, Coolify conserve la version précédente active. Vous pouvez rollback manuellement dans l’onglet Deployments en un clic.
Configurez les notifications pour être alerté :
- Email pour les échecs de déploiement
- Discord ou Slack pour tous les événements
- Webhook personnalisé pour intégration avec vos outils
Gestion des bases de données et services annexes
Coolify simplifie le déploiement de bases de données. Dans Services > Add Service, choisissez :
PostgreSQL 16 pour une base relationnelle :
version: 16-alpinevolumes: - postgres_data:/var/lib/postgresql/dataenvironment: POSTGRES_DB: myapp POSTGRES_USER: appuser POSTGRES_PASSWORD: ${DB_PASSWORD}Redis 7 pour le cache et les sessions :
version: 7-alpinevolumes: - redis_data:/datacommand: redis-server --appendonly yesCoolify génère automatiquement les credentials et les injecte dans vos variables d’environnement. L’URL de connexion devient disponible via ${DATABASE_URL}.
Configurez les backups automatiques dans Database > Backups :
- Fréquence : quotidienne à 3h du matin
- Rétention : 7 jours
- Destination : stockage local ou S3-compatible
Les services communiquent via un réseau Docker privé. Votre application accède à PostgreSQL via postgres:5432 et à Redis via redis:6379. Aucune exposition publique, sécurité maximale.
Conclusion et prochaines étapes
Vous venez de déployer une application complète en production avec Coolify. De zéro à une stack fonctionnelle avec SSL, base de données et déploiement continu en moins d’une heure.
Les économies sont significatives. Comparaison mensuelle :
| Solution | Coût mensuel | Complexité |
|---|---|---|
| Vercel Pro + Planetscale | 200€+ | Moyenne |
| AWS (EC2 + RDS + Load Balancer) | 300€+ | Élevée |
| Coolify (VPS Hetzner 8 Go) | 25€ | Faible |
Soit une économie de 175-275€ par mois, 2100-3300€ par an. Pour une PME, c’est un budget marketing ou un développeur junior à temps partiel.
Prochaines étapes pour aller plus loin :
- Scaling horizontal avec plusieurs instances de votre application
- Monitoring avancé avec Grafana et Prometheus
- Mise en place de tests automatisés avant déploiement
- Configuration de plusieurs environnements (staging, production)
La documentation Coolify couvre ces sujets en détail. La communauté Discord est active et réactive pour le support.
Besoin d’aide pour migrer votre infrastructure ou optimiser vos déploiements ? Chez Kodixar, j’accompagne les PME françaises dans leur transition vers le self-hosting et l’optimisation de leurs coûts cloud.
Dans un prochain article, on verra comment mettre en place un monitoring complet avec Grafana, Prometheus et Loki pour surveiller vos applications en temps réel.