Skip to main content
O runtime Node.js roda bots, APIs e sites renderizados no servidor em JavaScript e TypeScript. A Square Cloud instala as suas dependências a partir do package.json e inicia a sua aplicação com o Node.js.

Antes de começar

  • Node.js e npm na sua máquina. Se ainda não os tiver, baixe-os no site oficial do Node.js.
  • Uma conta na Square Cloud: cadastre-se com seu e-mail ou GitHub.
  • Um plano ativo. Veja os planos e escolha o que combina com o seu projeto.

Configure a Square Cloud

Se você envia sua aplicação pelo dashboard, pode pular esta seção: o dashboard cria o arquivo de configuração squarecloud.app para você.

Referência do arquivo de configuração

O arquivo squarecloud.app diz à Square Cloud como executar a sua aplicação: o arquivo principal, a memória, a versão do runtime, o nome e, para um site, o subdomínio.
Um arquivo de configuração completo para cada tipo de aplicação:
squarecloud.app
VERSION=recommended roda a linha LTS atual do Node.js, e VERSION=latest a versão mais recente.

O que a Square Cloud executa

  • Se o campo START não estiver definido no arquivo de configuração, a Square Cloud executa node MAIN. Quando a aplicação tem 1024 MB de memória ou mais, ela adiciona --max_old_space_size=<MEMORY> (o limite do heap do Node.js, em MB). Se o campo START estiver definido, o valor nele será executado diretamente. Para mais informações sobre os parâmetros do arquivo de configuração, visite parâmetros de configuração.
  • Se a aplicação não tiver uma pasta node_modules, a Square Cloud executa npm install --no-audit --no-fund antes de iniciá-la. Os pacotes em devDependencies não são instalados, porque o runtime define NODE_ENV=production. Quando a node_modules já existe, a etapa de instalação é pulada.

Porta e host para sites e APIs

A Square Cloud define a variável de ambiente PORT como 80 e HOST como 0.0.0.0. O seu servidor precisa escutar nessa porta e em todas as interfaces de rede, por exemplo com o Express:
Next.js, Nuxt, React Router, Astro e SolidStart leem a PORT sozinhos: os guias de frameworks dizem quando não há nada para mudar.

Prepare o projeto

Arquivos necessários

  • squarecloud.app, na raiz do ZIP.
  • O seu arquivo principal, por exemplo index.js ou src/index.ts.
  • package.json, com as suas dependências. Um upload sem ele falha com INVALID_DEPENDENCY.
O arquivo de configuração (squarecloud.app) deve estar localizado na raiz do arquivo zip. Caso contrário, a Square Cloud não conseguirá encontrá-lo durante o deploy.
A Square Cloud roda TypeScript nativamente com o tsx (npx tsx MAIN), mas compilar para JavaScript continua sendo o recomendado em produção: faça o build na sua máquina e aponte o MAIN para o arquivo compilado.

O que deixar de fora

  • node_modules: a Square Cloud remove esta pasta do seu upload e instala as dependências do package.json na primeira inicialização. Isso deixa o upload pequeno e compila as dependências para o sistema do servidor.
  • Lockfiles (package-lock.json, yarn.lock, pnpm-lock.yaml): a CLI e a extensão do VS Code deixam esses arquivos de fora por padrão, então o npm instala as versões mais recentes permitidas pelos intervalos do package.json. Quando você precisar das versões exatas do seu lockfile, inclua-o de volta com !package-lock.json no seu squarecloud.ignore.

Guias de frameworks

Express

Fastify

NestJS

Next.js

Nuxt

React Router

Angular

Astro

SolidJS

Qwik

React

Vue

Aplicações single-page feitas com Vite, React, Vue ou Preact também podem rodar sem Node.js, no runtime estático.

Solução de problemas

Este erro ocorre quando o arquivo definido como “main” para sua aplicação no arquivo de configuração não existe, está escrito incorretamente ou o caminho está errado. Se o seu arquivo principal estiver dentro de uma pasta, por exemplo, você deve informar pasta/arquivo.js.
A quantidade mínima de RAM necessária para hospedar um bot é 256MB e para um site/API é 512MB. No entanto, dependendo do tamanho e complexidade da sua aplicação, pode ser aconselhável alocar uma quantidade maior de RAM para evitar que a aplicação fique sem memória e trave.
Para outros problemas, veja Solução de problemas.

Faça o deploy

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.

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.

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.