Що встановлено на вашому сервері Ruby on Rails?
- Ruby 3.2 з репозиторію Ubuntu 24.04
- Rails 8 (8.1 або новіший) і приклад проєкту в /home/app/uygulama
- Puma на 127.0.0.1:3000, що працює як служба systemd з іменем uygulama
- SQLite, робоча база даних — storage/production.sqlite3
- HTTPS через Caddy з увімкненим force_ssl у Rails, тож домен необов’язковий
- Налаштування в /etc/seturack-rails.env: RAILS_ENV=production і згенерований SECRET_KEY_BASE
- build-essential і бібліотеки для розробки, щоб збирати gem-пакети, плюс файл підкачки на 2 ГБ
- Брандмауер із відкритими лише портами 22, 80 і 443
Який розмір потрібен для Ruby on Rails?
У документації Rails немає цифри щодо RAM. Пам’ять залежить від кількості процесів і потоків Puma, ваших gem-пакетів та assets:precompile. Орієнтовно: 1 ГБ підходить для спроб і невеликих проєктів, а 2–4 ГБ — хороший початок для проєкту зі справжнім трафіком. Найменший розмір — 1 ГБ RAM, 1 CPU і диск 15 ГБ, а встановлення додає 2 ГБ підкачки для збірок. Якщо цього замало, збільште розмір у панелі й задайте кількість процесів Puma через WEB_CONCURRENCY.
| Використання | Розмір | Ціна | Обрати |
|---|---|---|---|
| Стартовий | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/міс. | |
| Середній | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/міс. | |
| Потужний | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/міс. |
Кому підійде?
- Розробники, які хочуть запускати свій проєкт Rails на власному сервері
- Ті, хто вчить Rails або будує прототип чи невеликий продукт на одному сервері
- Проєкти, що стартують на SQLite і можуть пізніше перейти на PostgreSQL
Що буде після замовлення?
- Задайте розмір і завершіть оплату.
- Ваш сервер запускається, і Ruby та Rails встановлюються самі. У наших тестах на реальних серверах це зайняло близько 5 хвилин.
- Відкрийте «Адреса сайту» на вкладці «Огляд». Приклад сторінки показує версію Rails.
- Підключіться через SSH, введіть su - app, перейдіть у ~/uygulama і завантажте налаштування з /etc/seturack-rails.env у свою оболонку.
- Після зміни коду виконайте bundle install, bin/rails db:migrate і bin/rails assets:precompile.
- Перезапустіть Puma командою systemctl restart uygulama від root.
З кожним сервером
- Щоденне резервне копіювання входить у ціну
- Необмежений трафік
- Повний доступ root
- Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
- Розташування: Istanbul · IST-1.
Корисно знати
- Приклад проєкту навмисно мінімальний: у ньому немає налаштування Hotwire, Action Cable, Solid Queue чи Kamal. Коли ви переносите власний проєкт, bundle install додає все, що вказано у вашому Gemfile.
- Примусове HTTPS задано в config/initializers/seturack.rb. Залиште цей файл, коли переносите власний проєкт, або самі налаштуйте assume_ssl і force_ssl.
- Якщо ваш проєкт використовує Rails credentials, додайте RAILS_MASTER_KEY до /etc/seturack-rails.env.
- Установлено Ruby 3.2. Якщо вашому проєкту потрібен новіший Ruby, установіть його самі й оновіть рядок PATH у файлі служби.
- Оновлювати gem-пакети й Rails — ваша відповідальність. Оновлення безпеки Ubuntu встановлюються самі.
Ruby on Rails: запитання й відповіді
Як перенести власний проєкт Rails на сервер?
Підключіться через SSH і введіть su - app. Перейменуйте приклад проєкту, клонуйте свій код у ~/uygulama командою git clone і скопіюйте config/initializers/seturack.rb. Виконайте bundle install, bin/rails db:prepare і bin/rails assets:precompile, а потім від root systemctl restart uygulama.
Як виконувати команди Rails на сервері?
Введіть su - app і cd ~/uygulama. Завантажте налаштування командою set -a; . /etc/seturack-rails.env; set +a. Додайте шлях до gem-пакетів: export PATH=$GEM_HOME/bin:$PATH. Після цього bundle, bin/rails console і bin/rails db:migrate працюватимуть з вашими робочими налаштуваннями.
Скільки RAM потрібно Ruby on Rails?
В Rails немає офіційної цифри щодо RAM. Орієнтовно: 1 ГБ підходить для спроб і невеликих проєктів, а 2–4 ГБ — хороший початок для справжнього трафіку. Додавання процесів Puma споживає більше пам’яті, ніж додавання потоків.
Чи можна використовувати PostgreSQL замість SQLite?
Так. Виконайте від root apt install postgresql libpq-dev, додайте pg до свого Gemfile, змініть розділ production у config/database.yml і виконайте bin/rails db:prepare. Базу даних можна також винести на окремий сервер.
Які версії Ruby і Rails установлено?
Ви отримуєте Ruby 3.2 з Ubuntu 24.04 і найновіший реліз Rails 8 на момент встановлення (8.1 або новіший). Згідно з посібниками Rails, Rails 8.0 і 8.1 вимагають Ruby 3.2.0 або новішого.
Чи є в Rails адреса для перевірки стану?
Так. Власний шлях Rails /up відкритий і повертає 200, поки застосунок працює. Його виключено з переспрямування на HTTPS, тож інструмент моніторингу можна спрямувати прямо на нього.