Ruby · 3.3

Hospedagem Ruby 24/7

Suba uma API Sinatra, um worker de fila ou uma automação em Ruby e deixe rodando. As dependências são instaladas quando a imagem é construída, o processo sobe em container isolado e volta sozinho quando cai.

Origem

Quem desenhou o Ruby

Yukihiro Matsumoto começou o Ruby em 1993, insatisfeito com Perl e Python para o que ele queria escrever. Publicou em 1995 uma linguagem que misturava a orientação a objetos de Smalltalk, a expressividade de Perl e blocos na gramática — o critério explícito era o prazer de quem programa. A 1.0 chegou em 1996. Matz repetiu que otimizava para humanos, não para o compilador: a sintaxe deveria surpreender pouco.

Yukihiro Matsumoto

Mathias Meyer · CC BY-SA 2.0

Feita para quem escreve

Matz desenhou o Ruby para ser prazeroso, não para o compilador. A diferença que ele queria de Perl e Python era essa: a sintaxe deveria surpreender pouco e caber na cabeça.

Tudo é objeto

Número, classe, nil. Não há tipo primitivo à margem. É orientação a objetos sem a exceção que o Java e o C carregam no núcleo.

Blocos na língua

Iteração e recurso não são um callback de biblioteca: o bloco é gramática. É o jeito Ruby de passar comportamento, não um extra da API.

O que a plataforma faz por um projeto Ruby

O essencial já vem configurado em toda aplicação Ruby aqui; os recursos que dependem do plano estão indicados no card.

Três versões, uma linha de config

3.3 é a recomendada, 3.4 é a mais recente e 3.2 continua disponível. Trocar é mudar VERSION no vertracloud.config e subir de novo — não há imagem para escolher nem Dockerfile para manter.

Gems instaladas no build

A instalação acontece quando a imagem é construída, não a cada boot. O container sobe com tudo pronto, e uma falha de instalação aparece no log do build em vez de virar crash em produção. O build tem 5 minutos.

Auto-restart com freio

Uma exception não tratada não derruba o serviço: o processo volta sozinho, em qualquer plano. Se ele quebrar 5 vezes em 10 minutos, a plataforma marca crash loop e desliga o auto-restart por 24 horas. Saída com exit code 0 não dispara reinício.

Background hoje, web amanhã

Um worker sobe sem porta HTTP. Se depois ele precisar atender na internet, é só publicar a aplicação: ela recebe subdomínio e TLS. Ligar e desligar recriam o container, então o processo reinicia nesse momento.

O que as pessoas rodam em Ruby aqui

A automação que fica de pé por semanas, e o serviço HTTP que a equipe publica quando precisa.

APIs Sinatra e Rack

Serviço HTTP publicado num subdomínio vertraweb.app. Ligue o servidor em 0.0.0.0 e na porta 80 — quem escuta em localhost não recebe tráfego externo e o site responde com timeout.

Workers e jobs de fila

Consumidor de fila, rotina de ETL, tarefa periódica: processo longo que só precisa ficar de pé. O auto-restart cobre a queda ocasional sem alguém acordar para reiniciar.

Bots e integrações

Automação que fica conectada o tempo todo, sem porta exposta. O token vai nas variáveis de ambiente do painel, nunca dentro do zip.

Ruby com banco gerenciado

Crie um PostgreSQL 17, MySQL 8.0, MongoDB 8.0.11 ou Redis 7 no mesmo painel e conecte pelo host interno. TLS é obrigatório; certificado e senha são gerados pela plataforma e ficam disponíveis para download.

Versões de Ruby disponíveis

3.3 é a recomendada, 3.4 é a mais recente e 3.2 continua disponível. Para sair da recomendada, declare VERSION no vertracloud.config.

Versãovertracloud.configStatus
3.4VERSION=3.4Mais recente
3.3VERSION=3.3Recomendada
3.2VERSION=3.2

A configuração inteira

O vertracloud.config é um arquivo INI opcional na raiz do projeto. MAIN aponta o arquivo de entrada; VERSION escolhe o Ruby; MEMORY define o teto de RAM do container.

vertracloud.config
NAME=meu-app
MAIN=app.rb
VERSION=3.3
MEMORY=512

Um plano para cada fase do projeto

A memória e o armazenamento mudam por plano; a linguagem, não. Compare o que cada plano libera e escolha o que cabe no projeto agora.

Comparar planos

Também roda aqui

Mesma plataforma, mesmo deploy, outra stack.

Perguntas frequentes sobre hospedagem Ruby

Gems, build e variáveis: o que o suporte mais responde sobre Ruby.

Quais versões de Ruby posso usar?

3.3 (recomendada), 3.4 (a mais recente) e 3.2. A escolha é feita pela chave VERSION no vertracloud.config; sem ela, a aplicação sobe na recomendada.

As gems precisam ir dentro do zip?

Não — exclua vendor/ do pacote. As gems são instaladas no servidor durante o build, para Linux, e o zip aceita no máximo 100 MB.

Meu app sobe e para logo em seguida. Por quê?

Se o processo termina com exit code 0, a plataforma entende que ele encerrou normalmente e não reinicia. Garanta que o servidor está escutando ou que o bot ficou conectado: um script que roda até o fim e sai não fica de pé.

Como as variáveis de ambiente chegam ao processo?

Pela aba do painel: elas são injetadas no container na inicialização e ficam criptografadas em repouso. São até 25 variáveis, chave de até 100 caracteres e valor de até 1.000. A plataforma não lê arquivo .env.

Quanto tempo o build pode levar?

Até 5 minutos. Se a instalação das gems estourar esse tempo, o build falha — remova dependência que o projeto não usa. O zip enviado também tem teto de 100 MB.

Suba seu projeto Ruby hoje

Crie a conta, envie um zip ou conecte o repositório do GitHub e acompanhe a instalação das gems pelo terminal do painel.

Criar conta