Déployer facilement vos applications avec Coolify
Déployez vos applications avec Coolify, une alternative à Vercel, Netlify et Heroku
Sommaire
1. Coolify, un outil open-source
Coolify est un PaaS open-source et auto-hébergeable (selfhost) conçu pour offrir une alternative flexible et personnalisable à des services de déploiement tels que Heroku, Netlify ou Vercel. L’objectif principal de Coolify est de permettre aux utilisateurs de gérer leurs propres serveurs, applications (PHP, JS, Go, Python, etc.) et bases de données sur leur propre matériel, en utilisant simplement une connexion SSH.
Vous pouvez l’installer sur différents types de serveurs, qu’il s’agisse de VPS (Serveurs Privés Virtuels), de serveurs dédiés ou même de Raspberry Pi.
L’un des principaux avantages de Coolify est l’absence de vendor lock-in (verrouillage fournisseur). Toutes les configurations pour vos applications, bases de données, etc., sont enregistrées sur votre propre serveur. Ainsi, même si vous décidez de cesser d’utiliser Coolify à l’avenir, vous pouvez toujours gérer vos ressources en cours d’exécution sans être soumis à un vendor lock-in. Cela garantit une liberté et une flexibilité maximales pour les utilisateurs, avec la possibilité de passer facilement à d’autres solutions sans perdre l’accès à leurs données et configurations.
2. Pré-requis et installation
Pour utiliser Coolify, vous aurez besoin d’un système d’exploitation compatible et d’un matériel approprié. Voici les systèmes d’exploitation pris en charge et les architectures compatibles :
Systèmes d’exploitation pris en charge :
- Distributions Linux basées sur Debian (Debian, Ubuntu, etc.)
- Distributions Linux basées sur Redhat (CentOS, Fedora, Redhat, AlmaLinux, Rocky, etc.)
- Distributions Linux basées sur SUSE (SLES, SUSE, openSUSE, etc.)
- Arch Linux
- Raspberry Pi OS (Raspbian)
Si vous recherchez un serveur, je vous propose de passer par Hetzner (lien affilié), un hébergeur allemand qui vous permettra de prendre un VPS en ARM ou bien en AMD à un coût raisonnable.
Architectures prises en charge :
- AMD64
- ARM64 (dans certains cas, le déploiement sera plus compliqué pour certaines applications)
Configuration minimale requise pour le serveur :
- Pour Coolify :
- Installation de Coolify en tant qu’utilisateur
root(il ne sera plus nécessaire dans le futur) - 2 CPU
- 2 Go de mémoire
- Au moins 30 Go de stockage pour les images
- Installation de Coolify en tant qu’utilisateur
Assurez-vous que votre serveur répond à ces exigences avant d’installer Coolify. Une fois que vous avez vérifié cela, sur votre serveur, vous pouvez passer à l’installation de l’outil et suivre les instructions sur le terminal:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Vous pourrez retrouver les instructions les plus à jour sur Github ou bien la documentation sur le site officiel.
FAQ
Coolify est-il vraiment gratuit ?
Oui, Coolify est un projet open-source et gratuit sur Github. Vous pouvez l’utiliser sans frais sur votre propre infrastructure.
Puis-je migrer facilement mes applications existantes vers Coolify ?
Coolify s’appuie sur des images Docker pour déployer les applications. Si vos applications ne s’appuient pas sur Docker, une préparation sera nécessaire avant de migrer vers Coolify.
Comment Coolify gère-t-il les mises à jour et la sécurité ?
Coolify se charge de se mettre à jour automatiquement. Vous pouvez toutefois désactiver ce comportement via l’interface web.
Coolify peut-il gérer des applications à grande échelle ?
Coolify permet de s’appuyer sur Docker Swarm pour la mise à l’échelle (vérifié en juin 2024, il se peut que cela change dans le futur et que cette information ne soit plus d’actualité). Il se peut que toutefois que vous ayez besoin d’une solution plus robuste, Coolify pourrait ne pas être pertinent à votre besoin.
Quelles sont les stratégies de déploiement possibles avec Coolify ?
À l’heure actuelle (juin 2024), Coolify ne propose qu’une stratégie de déploiement de type re-création (recreate). Cela signifie que lors d’un déploiement, le conteneur de votre application est d’abord arrêté, puis un nouveau conteneur est lancé avec la nouvelle version de votre image.
Cette approche, bien que simple et efficace pour de nombreux cas d’utilisation, a ses limites. Elle ne permet pas d’utiliser des stratégies de déploiement plus avancées telles que :
- Blue/Green (déploiement sur un nouvel environnement avant de basculer le trafic)
- Canary (déploiement progressif sur un sous-ensemble d’utilisateurs)
- A/B Testing (comparaison de deux versions en production)
Si ces stratégies de déploiement avancées sont cruciales pour votre projet, vous devrez peut-être envisager des solutions alternatives ou complémentaires à Coolify pour gérer vos déploiements.
Il est important de noter qu’il serait techniquement possible de modifier la configuration de Traefik (le reverse proxy utilisé par Coolify) pour mettre en place une de ces stratégies de déploiement avancées. Cependant, cette approche nécessite des connaissances techniques plus poussées et n’est pas forcément à la portée de tous les utilisateurs. De plus, elle sort du cadre d’utilisation “standard” de Coolify et pourrait compliquer la maintenance de votre infrastructure.