- Documentação
- Tecnologias
- Ruby
Ruby
A Guara Cloud suporta totalmente aplicacoes Ruby, incluindo frameworks como Ruby on Rails, Sinatra, Hanami e qualquer aplicacao baseada em Rack.
Versoes suportadas
As seguintes versoes do Ruby sao detectadas automaticamente:
- Ruby 3.1
- Ruby 3.2
- Ruby 3.3
A versao e detectada automaticamente a partir do seu Gemfile ou arquivo .ruby-version.
# Gemfile
ruby '3.3.0'
Deploy com Dockerfile
Para ter controle total sobre o build, inclua um Dockerfile na raiz do seu repositorio.
Deploy com Buildpack
Se o seu repositorio nao contiver um Dockerfile, a Guara Cloud detecta automaticamente seu projeto Ruby pela presenca de um Gemfile.
A deteccao automatica vai:
- Detectar a versao do Ruby pelo
Gemfileou.ruby-version - Executar
bundle install - Detectar aplicacoes Rails automaticamente, habilitando jemalloc e bootsnap para performance otimizada
- Pre-compilar o asset pipeline se uma aplicacao Rails for detectada
- Configurar automaticamente o Puma como servidor da aplicacao
Configuracao de porta
Sua aplicacao deve escutar na porta configurada nas configuracoes do servico. O padrao e 3000, mas voce pode altera-lo a qualquer momento para corresponder a sua aplicacao.
port = ENV['PORT'] || 3000
Para Puma, configure em config/puma.rb:
port ENV.fetch('PORT') { 3000 }
Estrutura de projeto exemplo
my-rails-app/
Gemfile
Gemfile.lock
Procfile
config.ru
app/
controllers/
models/
views/
config/
puma.rb
Dockerfile # opcional — omita para usar Buildpack
Variaveis de ambiente
Estas variaveis de ambiente sao comumente usadas em deploys Ruby:
| Variavel | Valor recomendado | Descricao |
|---|---|---|
RAILS_ENV | production | Define o ambiente do Rails |
RACK_ENV | production | Define o ambiente Rack para apps nao-Rails |
PORT | Definido pela plataforma | A porta na qual sua aplicacao deve escutar |
SECRET_KEY_BASE | Seu secret | Necessario pelo Rails para cookies e sessoes criptografadas |
RAILS_LOG_TO_STDOUT | enabled | Envia logs do Rails para stdout para visibilidade |