[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-avec-kamal-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":25,"intro":27,"sections":28,"ctaTitle":71,"ctaBody":72,"ctaButton":73,"ctaUrl":74,"relatedPosts":75},40,"deployer-avec-kamal","Déployer vos applications avec Kamal sur un VPS","Déployez vos applications avec Kamal sur un VPS : zero-downtime, Docker et SSL automatique pilotés depuis votre machine, sans Kubernetes.",8,480,false,"2026-05-11T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},3,"Déploiement","deploiement","bg-success\u002F10 text-success",[21],{"id":16,"name":17,"slug":18,"color":19,"icon":18},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-avec-kamal-poster.svg",{"categorySlug":18,"appSlug":26},"kamal","Kamal (anciennement MRSK), issu de l'écosystème Rails\u002F37signals, déploie des applications conteneurisées sur un ou plusieurs VPS depuis votre machine locale, sans orchestrateur lourd. Il combine build Docker, push vers un registre, déploiement zero-downtime et reverse proxy SSL automatique en une seule commande : `kamal deploy`.",[29,33,43,46,68],{"type":30,"title":31,"body":32},"h2","Pourquoi déployer avec Kamal sur un VPS plutôt qu'avec Kubernetes ?","Kubernetes est surdimensionné pour la majorité des applications hébergées sur un VPS unique ou un petit cluster. Kamal vise précisément ce terrain : il prend votre Dockerfile, construit l'image, l'envoie sur vos serveurs via SSH et bascule le trafic sans interruption grâce à son proxy intégré (kamal-proxy). Toute la configuration tient dans un fichier `config\u002Fdeploy.yml` versionné avec votre code : pas de control plane à maintenir, pas de YAML interminable. Vous gardez la simplicité d'un VPS avec un workflow de déploiement professionnel.",{"type":34,"title":35,"items":36},"ul","Ce que Kamal vous apporte",[37,38,39,40,41,42],"Déploiements zero-downtime via health checks et bascule progressive du trafic","Build et push de l'image Docker, puis déploiement sur les serveurs, en une commande","SSL automatique Let's Encrypt géré par kamal-proxy, sans configuration manuelle","Rollback instantané vers la version précédente avec `kamal rollback`","Gestion des secrets et variables d'environnement centralisée et chiffrée","Déploiement multi-serveurs (web, jobs, accessoires comme Postgres ou Redis) depuis un seul fichier",{"type":30,"title":44,"body":45},"Prérequis","Côté VPS, Kamal n'exige qu'un accès SSH par clé et Docker (qu'il peut même installer via `kamal setup` au premier déploiement). Un VPS de 2 vCPU et 2 à 4 Go de RAM convient pour une application web standard plus sa base de données. Côté machine locale, installez Kamal (gem Ruby ou image Docker), et préparez un registre de conteneurs (Docker Hub, GitHub Container Registry, ou un registre privé) ainsi qu'un domaine pointant vers le VPS.",{"type":47,"title":48,"steps":49},"steps","Déployer une application avec Kamal",[50,53,56,59,62,65],{"title":51,"body":52},"Initialiser la configuration","Dans votre projet, lancez `kamal init`. Cela génère `config\u002Fdeploy.yml` et `.kamal\u002Fsecrets`. Renseignez le nom du service, l'image (`votreuser\u002Fmonapp`), la liste des serveurs (`servers.web`) avec l'IP du VPS et le registre utilisé.",{"title":54,"body":55},"Définir les secrets et variables","Placez les valeurs sensibles dans `.kamal\u002Fsecrets` (jamais commité) : `KAMAL_REGISTRY_PASSWORD`, `RAILS_MASTER_KEY` ou vos clés applicatives. Référencez-les dans `deploy.yml` sous `env.secret`. Les variables non sensibles vont sous `env.clear`.",{"title":57,"body":58},"Activer le proxy et le SSL","Dans la section `proxy` de `deploy.yml`, indiquez votre `host` (`app.votredomaine.com`) et activez `ssl: true`. kamal-proxy obtiendra automatiquement le certificat Let's Encrypt et terminera le TLS devant votre conteneur. Assurez-vous que le DNS pointe déjà vers le VPS avant le déploiement.",{"title":60,"body":61},"Provisionner le serveur","Lancez `kamal setup`. Kamal se connecte en SSH, installe Docker si besoin, se connecte au registre, démarre kamal-proxy puis déploie la première version. C'est l'unique étape d'amorçage : les déploiements suivants seront plus rapides.",{"title":63,"body":64},"Déployer et vérifier","À chaque mise à jour, exécutez `kamal deploy`. Kamal construit l'image, la pousse, démarre les nouveaux conteneurs, attend que les health checks passent, puis bascule le trafic et arrête les anciens. Consultez l'état avec `kamal app logs -f` et `kamal app details`.",{"title":66,"body":67},"Gérer les accessoires (base de données, cache)","Déclarez Postgres ou Redis sous la clé `accessories` de `deploy.yml`, avec leur image, leur port et leurs volumes. `kamal accessory boot db` démarre le service. Vous gardez ainsi toute la stack décrite dans un seul fichier versionné.",{"type":69,"body":70},"tip","Si un déploiement introduit une régression, ne touchez pas au code : exécutez `kamal rollback [VERSION]` pour revenir instantanément à l'image précédente, toujours présente sur le VPS. Pensez aussi à utiliser `kamal app exec` pour lancer des tâches ponctuelles (migrations, console) directement dans le conteneur en cours, sans ouvrir de session SSH manuelle.","Pilotez vos déploiements Kamal sur un VPS Cloud ServOrbit","Provisionnez un VPS Cloud avec le template Déploiement et accès SSH par clé : Kamal y installe Docker et déploie votre application en zero-downtime dès la première commande.","Voir les VPS Cloud","\u002Fvps-cloud",[76,90,103],{"id":77,"slug":78,"title":79,"excerpt":80,"readTime":81,"views":82,"isPinned":13,"publishedAt":83,"category":84,"categories":85,"featuredImage":22,"bgImage":23,"posterImage":87,"relatedSolution":88},33,"deployer-avec-caprover","Déployer vos applications avec CapRover sur un VPS","Transformez votre VPS en PaaS avec CapRover : déploiements Git en un push, SSL automatique et catalogue d'applications en un clic.",7,221,"2026-05-18T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[86],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-caprover-poster.svg",{"categorySlug":18,"appSlug":89},"caprover",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":81,"views":95,"isPinned":13,"publishedAt":96,"category":97,"categories":98,"featuredImage":22,"bgImage":23,"posterImage":100,"relatedSolution":101},34,"deployer-avec-dokku","Déployer vos applications avec Dokku sur un VPS","Déployez vos apps avec Dokku, le plus petit PaaS du marché : git push, buildpacks Heroku et SSL automatique sur un VPS léger.",258,"2026-05-17T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[99],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-dokku-poster.svg",{"categorySlug":18,"appSlug":102},"dokku",{"id":104,"slug":105,"title":106,"excerpt":107,"readTime":81,"views":108,"isPinned":13,"publishedAt":109,"category":110,"categories":111,"featuredImage":22,"bgImage":23,"posterImage":113,"relatedSolution":114},35,"deployer-avec-portainer","Déployer vos applications avec Portainer sur un VPS","Pilotez Docker visuellement avec Portainer sur votre VPS : conteneurs, stacks, volumes et réseaux gérés depuis une interface web claire.",295,"2026-05-16T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[112],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-portainer-poster.svg",{"categorySlug":18,"appSlug":115},"portainer",1784126232450]