Skip to main content

Introdução

Para desenvolver e hospedar uma aplicação Ruby on Rails na Square Cloud, siga a sequência de configurações e pré-requisitos abaixo. Este guia cobre todo o processo, da configuração inicial ao deploy em produção.

Pré-requisitos

  • Conta Square Cloud: Cadastre-se através da página de cadastro usando seu e-mail.
  • Plano ativo: Garante recursos dedicados e desempenho otimizado para seu aplicativo. Confira nossos planos disponíveis e escolha o mais adequado às suas necessidades.
Este guia usa o runtime Ruby.

Crie o projeto

Você precisa do Ruby e do Bundler na sua máquina. Se ainda não tiver o Ruby, baixe-o no site oficial do Ruby. Instale o Rails e crie um projeto:
Projetos Rails novos usam SQLite, guardado na pasta storage/, então rodam sem um banco de dados externo. Inicie o servidor de desenvolvimento:
Em desenvolvimento, o Rails escuta em http://localhost:3000. Mantenha a porta padrão na sua máquina: você não precisa da porta 80 localmente.

Faça o build para produção

A Square Cloud prepara a aplicação quando ela inicia: ela executa bundle install para instalar as gems do seu Gemfile, e depois o seu comando START pré-compila os assets e prepara o banco de dados. O runtime Ruby define RACK_ENV=production, então o Rails roda em modo de produção.

Porta e host

Nada a mudar: o rails server lê a variável de ambiente PORT, que a Square Cloud define como 80, e em produção escuta em todas as interfaces de rede.

Variáveis de ambiente

Defina estas variáveis de ambiente no dashboard ou com squarecloud app env set:

Configure a Square Cloud

Crie um arquivo squarecloud.app na raiz do projeto:
squarecloud.app
A cada inicialização, este comando:
  • remove um arquivo de PID do servidor deixado por uma execução anterior, que impediria o Rails de iniciar;
  • rails assets:precompile gera o seu CSS e JavaScript em public/assets;
  • rails db:prepare cria os bancos de dados ou aplica as migrações pendentes;
  • rails server inicia o Puma.
RUNTIME=ruby seleciona o runtime Ruby sem um arquivo MAIN. Os comandos usam bundle exec rails em vez de bin/rails porque um ZIP criado no Windows pode perder a permissão de execução do bin/rails.

O que vai no ZIP

  • O projeto inteiro: app/, bin/, config/, db/, lib/, public/, Gemfile, Gemfile.lock e config.ru.
  • squarecloud.app.
Deixe de fora o config/master.key (a chave vai na RAILS_MASTER_KEY), log/, tmp/ e os bancos de dados locais em storage/.

Faça o deploy e verifique

Via dashboard

1

Acesse a página de upload

Acesse a página de upload e envie seu arquivo zip.
2

Configure seu ambiente

Após fazer o upload do seu arquivo zip, você precisará configurar o nome, o arquivo principal ou o ambiente de execução e outras configurações do seu projeto.
Se você estiver enviando um projeto web, certifique-se de selecionar “Publicação na Web” e definir um subdomínio para o seu projeto.
3

Faça o deploy do projeto

Por fim, clique no botão “Deploy” para hospedar seu projeto na Square Cloud. Após o deploy, você poderá monitorar o status e os registros do seu projeto no dashboard.
Enviando aplicação para a Square Cloud
4

Confirme que seu app está no ar

Seu primeiro deploy geralmente leva menos de um minuto. No dashboard, aguarde o status da sua aplicação mudar para em execução e verifique os registros em busca de erros de inicialização.
Se você fez deploy de um site ou API, abra https://<seu-subdominio>.squareweb.app no navegador: você deve ver sua aplicação respondendo. Se você fez deploy de um bot, envie um comando para confirmar que ele está online.
Seu app não está iniciando? Veja o guia de solução de problemas para as causas e correções mais comuns.

Via CLI

Para usar esse método, seu projeto precisa de um arquivo de configuração chamado squarecloud.app na raiz. Ele informa à Square Cloud como executar a sua aplicação.

Guia do arquivo de configuração

Saiba como criar o arquivo de configuração squarecloud.app que define o ambiente da sua aplicação.
1

Instale a CLI

Instale a CLI da Square Cloud. Se você já a tem, execute o mesmo comando para atualizá-la:
2

Faça login

Execute o comando abaixo. Ele abre o seu navegador: aprove o login lá e a CLI está pronta. Não há nenhuma chave de API para copiar. Para scripts e CI, veja autenticação da CLI.
3

Envie o seu projeto

Na pasta do seu projeto, execute o comando abaixo. A CLI compacta a pasta atual, deixando de fora o que o squarecloud.ignore lista, e faz o upload:
Para enviar um zip que você mesmo criou, passe-o com --file:
4

Confirme que seu app está no ar

Seu primeiro deploy geralmente leva menos de um minuto. Verifique o status e os registros da sua aplicação diretamente pelo terminal:
Se você fez deploy de um site ou API, abra https://<seu-subdominio>.squareweb.app no navegador: você deve ver sua aplicação respondendo. Se você fez deploy de um bot, envie um comando para confirmar que ele está online.
Seu app não está iniciando? Veja o guia de solução de problemas para as causas e correções mais comuns.

Erros comuns

Domínio personalizado

Para usar um domínio personalizado (ex.: meusite.com) no lugar da URL padrão meusite.squareweb.app, você precisa do plano Standard ou superior. A URL padrão vem do campo SUBDOMAIN no arquivo de configuração. Para conectar o seu domínio, veja como configurar seu próprio domínio.

Requisitos mínimos de RAM

Mínimo: 512MB de RAM para sites e APIs, o suficiente para um build estático no runtime estático. Para aplicações que renderizam páginas no servidor (Next.js, Nuxt, Angular SSR e similares), recomendamos pelo menos 1GB de RAM. Para aplicações maiores, aloque mais RAM para evitar que a aplicação fique sem memória e trave.

Não foi possível encontrar esse site.

Verifique se o subdomínio/domínio corresponde ao configurado no campo SUBDOMAIN ou nas configurações de domínio personalizado. Se você acabou de enviar o site, aguarde até 60 segundos para a Square liberar o primeiro acesso.

Site demorou demais para responder…

O seu servidor precisa escutar na porta 80 e no host 0.0.0.0. A Square Cloud define as variáveis de ambiente PORT (80) e HOST (0.0.0.0) na sua aplicação: leia essas variáveis no código em vez de fixar outros valores. Um servidor que escuta apenas em localhost ou 127.0.0.1 nunca recebe requisições.

Missing secret_key_base ou ActiveSupport::MessageEncryptor::InvalidMessage

A RAILS_MASTER_KEY está faltando ou não corresponde ao config/credentials.yml.enc. Copie o conteúdo do config/master.key que criou essas credenciais e reinicie a aplicação.

Próximos passos

Variáveis de ambiente

Mantenha segredos e configurações fora do código e leia-os em tempo de execução.

Domínio personalizado

Sirva a sua aplicação no seu próprio domínio, a partir do plano Standard.

Solução de problemas

Corrija uma aplicação que não inicia ou um site que não responde.
Para saber mais sobre o Rails, consulte os guias oficiais do Rails.

Contate-nos

Se você continuar enfrentando dificuldades técnicas, nossa equipe de suporte especializada está disponível para auxiliá-lo. Entre em contato conosco e teremos prazer em ajudá-lo a resolver qualquer questão: a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com 4,9/5 em 402 avaliações no Google e Trustpilot.