O que vem instalado no seu servidor Ruby on Rails?
- Ruby 3.2 do repositório do Ubuntu 24.04
- Rails 8 (8.1 ou superior) e um projeto de exemplo em /home/app/uygulama
- Puma em 127.0.0.1:3000, rodando como um serviço systemd chamado uygulama
- SQLite, com o banco de produção em storage/production.sqlite3
- HTTPS pelo Caddy com force_ssl ativado no Rails, então o domínio é opcional
- Configurações em /etc/seturack-rails.env: RAILS_ENV=production e um SECRET_KEY_BASE gerado
- build-essential e bibliotecas de desenvolvimento para compilar gems, além de um arquivo de swap de 2 GB
- Firewall com apenas as portas 22, 80 e 443 abertas
Qual tamanho você precisa para Ruby on Rails?
A documentação do Rails não informa um valor de RAM. A memória depende do número de processos e threads do Puma, das suas gems e do assets:precompile. Como regra prática, 1 GB serve para testes e projetos pequenos, e de 2 a 4 GB é um bom começo para um projeto com tráfego real. O menor tamanho é 1 GB de RAM, 1 CPU e disco de 15 GB, e a instalação adiciona 2 GB de swap para as compilações. Se não for suficiente, aumente pelo painel e defina o número de processos do Puma com WEB_CONCURRENCY.
| Uso | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mês | |
| Médio | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mês | |
| Potente | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês |
Para quem é?
- Desenvolvedores que querem rodar o projeto Rails em um servidor próprio
- Quem está aprendendo Rails ou criando um protótipo ou um produto pequeno em um único servidor
- Projetos que começam no SQLite e podem migrar para o PostgreSQL mais tarde
O que acontece depois do pedido?
- Defina o tamanho e conclua o pagamento.
- Seu servidor inicia e o Ruby e o Rails se instalam sozinhos. Nos nossos testes em servidores reais, isso levou cerca de 5 minutos.
- Abra o Endereço do site na aba Visão geral. A página de exemplo mostra a versão do Rails.
- Conecte-se por SSH, digite su - app, vá para ~/uygulama e carregue no seu shell as configurações de /etc/seturack-rails.env.
- Depois de alterar o código, execute bundle install, bin/rails db:migrate e bin/rails assets:precompile.
- Reinicie o Puma com systemctl restart uygulama como root.
Em todo servidor
- Backup diário incluído no preço
- Tráfego ilimitado
- Acesso root completo
- Aumente ou reduza RAM e CPU depois, e aumente o disco
- Localização: Istanbul · IST-1.
Bom saber
- O projeto de exemplo é propositalmente enxuto: não tem Hotwire, Action Cable, Solid Queue nem configuração do Kamal. Quando você traz seu próprio projeto, o bundle install adiciona o que estiver listado no seu Gemfile.
- A imposição do HTTPS fica em config/initializers/seturack.rb. Mantenha esse arquivo ao trazer seu projeto ou defina assume_ssl e force_ssl por conta própria.
- Se o seu projeto usa credentials do Rails, adicione RAILS_MASTER_KEY a /etc/seturack-rails.env.
- O Ruby 3.2 é o que está instalado. Se o seu projeto precisar de um Ruby mais novo, instale-o você mesmo e atualize a linha PATH no arquivo de serviço.
- Manter suas gems e o Rails atualizados é responsabilidade sua. As atualizações de segurança do Ubuntu se instalam sozinhas.
Perguntas e respostas sobre Ruby on Rails
Como levo meu próprio projeto Rails para o servidor?
Conecte-se por SSH e digite su - app. Renomeie o projeto de exemplo, clone seu código em ~/uygulama com git clone e copie o arquivo config/initializers/seturack.rb. Execute bundle install, bin/rails db:prepare e bin/rails assets:precompile e depois systemctl restart uygulama como root.
Como executo comandos do Rails no servidor?
Digite su - app e cd ~/uygulama. Carregue as configurações com set -a; . /etc/seturack-rails.env; set +a. Adicione o caminho das gems com export PATH=$GEM_HOME/bin:$PATH. Depois disso, bundle, bin/rails console e bin/rails db:migrate usam as configurações de produção.
De quanta RAM o Ruby on Rails precisa?
O Rails não tem um valor oficial de RAM. Como regra prática, 1 GB serve para testes e projetos pequenos, e de 2 a 4 GB é um bom começo para tráfego real. Adicionar processos do Puma consome mais memória do que adicionar threads.
Posso usar PostgreSQL em vez de SQLite?
Sim. Execute apt install postgresql libpq-dev como root, adicione pg ao seu Gemfile, altere a seção de produção do config/database.yml e execute bin/rails db:prepare. Você também pode colocar o banco de dados em um servidor separado.
Quais versões do Ruby e do Rails vêm instaladas?
Você recebe o Ruby 3.2 do Ubuntu 24.04 e o Rails 8 mais recente no momento da instalação (8.1 ou superior). Os guias do Rails dizem que o Rails 8.0 e o 8.1 exigem o Ruby 3.2.0 ou mais novo.
Existe um endereço de verificação de saúde (health check) do Rails?
Sim. O caminho /up do próprio Rails fica aberto e retorna 200 enquanto o app está rodando. Ele fica fora do redirecionamento para HTTPS, então você pode apontar sua ferramenta de monitoramento direto para ele.