Qu'y a-t-il d'installé sur votre serveur Ruby on Rails ?
- Ruby 3.2 depuis le dépôt d'Ubuntu 24.04
- Rails 8 (8.1 ou plus récent) et un projet d'exemple dans /home/app/uygulama
- Puma sur 127.0.0.1:3000, exécuté comme un service systemd nommé uygulama
- SQLite, avec la base de production dans storage/production.sqlite3
- HTTPS via Caddy avec force_ssl activé dans Rails : un domaine est donc facultatif
- Réglages dans /etc/seturack-rails.env : RAILS_ENV=production et un SECRET_KEY_BASE généré
- build-essential et les bibliothèques de développement pour compiler les gems, plus un fichier d'échange (swap) de 2 Go
- Un pare-feu où seuls les ports 22, 80 et 443 sont ouverts
Quelle taille faut-il pour Ruby on Rails ?
La documentation de Rails ne donne aucun chiffre de RAM. La mémoire dépend du nombre de processus et de threads de Puma, de vos gems et de assets:precompile. En règle générale, 1 Go convient aux essais et aux petits projets, et 2 à 4 Go est un bon début pour un projet avec un vrai trafic. La plus petite taille est de 1 Go de RAM, 1 CPU et un disque de 15 Go, et l'installation ajoute 2 Go de swap pour les compilations. Si cela ne suffit pas, passez à une taille supérieure depuis votre panneau et réglez le nombre de processus Puma avec WEB_CONCURRENCY.
| Usage | Taille | Prix | Choisir |
|---|---|---|---|
| Démarrage | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mois | |
| Moyen | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mois | |
| Puissant | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mois |
Pour qui ?
- Développeurs qui veulent faire tourner leur projet Rails sur leur propre serveur
- Personnes qui apprennent Rails ou créent un prototype ou un petit produit sur un seul serveur
- Projets qui démarrent sur SQLite et passeront peut-être à PostgreSQL plus tard
Que se passe-t-il après votre commande ?
- Réglez la taille et terminez votre paiement.
- Votre serveur démarre et Ruby et Rails s'installent tout seuls. Cela a pris environ 5 minutes lors de nos tests sur de vrais serveurs.
- Ouvrez l'Adresse du site depuis l'onglet Vue d'ensemble. La page d'exemple affiche la version de Rails.
- Connectez-vous en SSH, tapez su - app, placez-vous dans ~/uygulama et chargez les réglages de /etc/seturack-rails.env dans votre shell.
- Après avoir modifié votre code, lancez bundle install, bin/rails db:migrate et bin/rails assets:precompile.
- Redémarrez Puma avec systemctl restart uygulama en root.
Avec chaque serveur
- Sauvegardes quotidiennes incluses dans le prix
- Trafic illimité
- Accès root complet
- Augmentez ou réduisez la RAM et le CPU plus tard, et agrandissez le disque
- Emplacement : Istanbul · IST-1.
Bon à savoir
- Le projet d'exemple est volontairement minimal : il n'a ni Hotwire, ni Action Cable, ni Solid Queue, ni Kamal. Quand vous amenez votre propre projet, bundle install ajoute tout ce que votre Gemfile liste.
- L'application de HTTPS se trouve dans config/initializers/seturack.rb. Gardez ce fichier quand vous amenez votre propre projet, ou définissez vous-même assume_ssl et force_ssl.
- Si votre projet utilise les credentials de Rails, ajoutez RAILS_MASTER_KEY à /etc/seturack-rails.env.
- C'est Ruby 3.2 qui est installé. Si votre projet a besoin d'un Ruby plus récent, installez-le vous-même et mettez à jour la ligne PATH du fichier de service.
- Il vous revient de tenir vos gems et Rails à jour. Les mises à jour de sécurité d'Ubuntu s'installent toutes seules.
Questions et réponses sur Ruby on Rails
Comment amener mon propre projet Rails sur le serveur ?
Connectez-vous en SSH et tapez su - app. Renommez le projet d'exemple, clonez votre code dans ~/uygulama avec git clone et copiez config/initializers/seturack.rb. Lancez bundle install, bin/rails db:prepare et bin/rails assets:precompile, puis systemctl restart uygulama en root.
Comment exécuter des commandes Rails sur le serveur ?
Tapez su - app et cd ~/uygulama. Chargez les réglages avec set -a; . /etc/seturack-rails.env; set +a. Ajoutez le chemin des gems avec export PATH=$GEM_HOME/bin:$PATH. Ensuite, bundle, bin/rails console et bin/rails db:migrate utilisent vos réglages de production.
De combien de RAM Ruby on Rails a-t-il besoin ?
Rails n'a pas de chiffre de RAM officiel. En règle générale, 1 Go convient aux essais et aux petits projets, et 2 à 4 Go est un bon début pour un vrai trafic. Ajouter des processus Puma consomme plus de mémoire qu'ajouter des threads.
Puis-je utiliser PostgreSQL à la place de SQLite ?
Oui. Lancez apt install postgresql libpq-dev en root, ajoutez pg à votre Gemfile, modifiez la section production de config/database.yml et lancez bin/rails db:prepare. Vous pouvez aussi placer la base de données sur un serveur séparé.
Quelles versions de Ruby et de Rails sont installées ?
Vous obtenez Ruby 3.2 d'Ubuntu 24.04 et la dernière version de Rails 8 disponible à l'installation (8.1 ou plus récente). Les guides de Rails indiquent que Rails 8.0 et 8.1 exigent Ruby 3.2.0 ou plus récent.
Existe-t-il une adresse de contrôle de santé pour Rails ?
Oui. Le chemin /up propre à Rails est ouvert et renvoie 200 tant que l'application tourne. Il est exclu de la redirection HTTPS : vous pouvez donc y pointer directement votre outil de supervision.