[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-rails-vps-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":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":72,"ctaBody":73,"ctaButton":74,"ctaUrl":75,"relatedPosts":76},49,"deployer-rails-vps","Déployer une application Ruby on Rails sur un VPS","Déployez Ruby on Rails sur un VPS : Puma, Nginx, PostgreSQL, Sidekiq et SSL. Guide complet pour développeurs Ruby qui veulent self-héberger.",8,213,false,"2026-05-02T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},4,"Développement","developpement","bg-warning\u002F10 text-warning","dev",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-rails-vps-poster.svg",{"categorySlug":18,"appSlug":27},"rails","Ruby on Rails reste un framework redoutablement productif pour bâtir des applications web complètes. Le déployer sur votre propre VPS, avec Puma, PostgreSQL et Sidekiq, vous offre un contrôle total sur les jobs en arrière-plan, les assets et la mise à l'échelle, sans dépendre d'un PaaS coûteux.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","Pourquoi self-héberger Rails sur un VPS ?","Une application Rails de production combine plusieurs processus : le serveur web Puma, des workers Sidekiq pour les jobs asynchrones, PostgreSQL et Redis. Les plateformes managées facturent chaque dyno ou worker séparément, ce qui fait grimper la note dès que l'application grandit. Sur un VPS, tous ces processus cohabitent sur un même serveur que vous pilotez : vous réglez le nombre de threads et de workers Puma, vous lancez autant de workers Sidekiq que la RAM le permet, et vous gérez le précompilage des assets et le cache. Avec Rails 7 et plus, l'intégration native de Propshaft, Solid Queue et Solid Cache simplifie encore l'auto-hébergement. Vous gardez un coût fixe et une stack entièrement transparente.",{"type":35,"title":36,"items":37},"ul","Bénéfices concrets d'un Rails auto-hébergé",[38,39,40,41,42,43],"Puma et Sidekiq sur le même VPS, sans facturer chaque worker séparément.","Réglage du nombre de threads et de workers Puma selon les cœurs et la RAM.","Jobs en arrière-plan illimités avec Sidekiq\u002FRedis ou Solid Queue.","PostgreSQL maîtrisé : index, sauvegardes `pg_dump` et tuning des connexions.","Précompilage des assets et cache Rails gérés localement, sans surcoût.","Coût fixe et prévisible, idéal pour les SaaS et applications métier en croissance.",{"type":31,"title":45,"body":46},"Prérequis matériels et logiciels","Rails est plus consommateur de RAM que la moyenne à cause des workers Puma et Sidekiq : visez 2 Go minimum, et 4 Go dès que vous lancez plusieurs workers ou ajoutez Redis et Elasticsearch. Installez Ruby 3.2+ via `rbenv` ou `asdf`, ou utilisez une image Docker `ruby:3.3-slim`. Prévoyez PostgreSQL 15, Redis pour Sidekiq et le cache, Node.js si vous utilisez un bundler JS, et Bundler. Nginx sert de frontal pour le TLS et les assets statiques. Un domaine pointé vers le VPS est requis. Définissez `RAILS_ENV=production` et générez une `SECRET_KEY_BASE`.",{"type":48,"title":49,"steps":50},"steps","Déployer Rails étape par étape",[51,54,57,60,63,66],{"title":52,"body":53},"Préparer le serveur et l'application","En SSH, installez Ruby 3.3, PostgreSQL et Redis (ou Docker). Clonez le dépôt et configurez les variables : `DATABASE_URL`, `REDIS_URL`, `RAILS_MASTER_KEY` et `SECRET_KEY_BASE`. Lancez `bundle install --without development test`.",{"title":55,"body":56},"Précompiler les assets et migrer","Exécutez `RAILS_ENV=production bin\u002Frails assets:precompile` puis `bin\u002Frails db:migrate`. Avec Rails 7+, Propshaft et l'importmap simplifient le pipeline d'assets sans build Node complexe.",{"title":58,"body":59},"Lancer Puma","Démarrez le serveur via `bundle exec puma -C config\u002Fpuma.rb`, en réglant `WEB_CONCURRENCY` (workers) et `RAILS_MAX_THREADS` dans l'environnement. Faites écouter Puma sur un socket Unix pour de meilleures performances avec Nginx, et gérez le processus via systemd.",{"title":61,"body":62},"Démarrer les workers Sidekiq","Créez un service systemd qui exécute `bundle exec sidekiq -e production -C config\u002Fsidekiq.yml`, avec redémarrage automatique. Ajustez le nombre de threads Sidekiq selon la charge de jobs et la mémoire disponible.",{"title":64,"body":65},"Configurer Nginx et le SSL","Pointez Nginx vers le socket Puma via `upstream` et `proxy_pass`, servez `public\u002Fassets` directement avec un cache long, puis obtenez un certificat Let's Encrypt avec Certbot pour `votredomaine.ma`. Forcez le HTTPS et le renouvellement automatique.",{"title":67,"body":68},"Automatiser les déploiements","Mettez en place un script ou Kamal\u002FCapistrano qui enchaîne `git pull`, `bundle install`, `db:migrate`, `assets:precompile` et le redémarrage de Puma et Sidekiq. Le déploiement atomique avec liens symboliques permet de revenir en arrière instantanément en cas de problème.",{"type":70,"body":71},"tip","Surveillez l'empreinte mémoire de Puma : les processus Ruby gonflent avec le temps à cause de la fragmentation mémoire. Activez `jemalloc` comme allocateur (via `LD_PRELOAD`) pour réduire significativement la RAM consommée par les workers, et configurez un redémarrage périodique des workers Puma. Sur un VPS où la RAM est la ressource la plus limitante pour Rails, ce réglage seul peut éviter d'avoir à monter en gamme.","Lancez votre application Rails","Le VPS Cloud ServOrbit fournit un template avec Ruby, PostgreSQL, Redis, Nginx et SSL automatique, prêt à accueillir votre application Rails, Puma et Sidekiq.","Déployer mon VPS Rails","\u002Fvps-cloud",[77,91,104],{"id":78,"slug":79,"title":80,"excerpt":81,"readTime":82,"views":83,"isPinned":13,"publishedAt":84,"category":85,"categories":86,"featuredImage":23,"bgImage":24,"posterImage":88,"relatedSolution":89},5,"deployer-laravel-vps","Déployer Laravel sur un VPS : guide production","Passez Laravel en production sur VPS : PHP, workers, cache, base de données, reverse proxy et HTTPS proprement configurés.",7,2840,"2026-02-09T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[87],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-laravel-vps-poster.svg",{"categorySlug":20,"appSlug":90},"laravel-stack",{"id":92,"slug":93,"title":94,"excerpt":95,"readTime":11,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":23,"bgImage":24,"posterImage":101,"relatedSolution":102},43,"deployer-nodejs-vps","Déployer une application Node.js sur un VPS","Déployez une application Node.js en production sur un VPS : PM2, reverse proxy Nginx, SSL Let's Encrypt et démarrage automatique au boot.",591,"2026-05-08T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[100],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-nodejs-vps-poster.svg",{"categorySlug":18,"appSlug":103},"nodejs",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":11,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":23,"bgImage":24,"posterImage":114,"relatedSolution":115},44,"deployer-django-vps","Déployer une application Django sur un VPS","Déployez Django sur un VPS : Gunicorn, Nginx, PostgreSQL, Docker et SSL. Guide complet pour développeurs Python qui veulent self-héberger.",628,"2026-05-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[113],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-django-vps-poster.svg",{"categorySlug":18,"appSlug":116},"django",1784126233362]