Skip to main content
Mantenha tokens de bots, chaves de API e senhas de bancos de dados fora do seu código-fonte. Defina-os como variáveis de ambiente na aplicação, e o seu código os lê em tempo de execução como qualquer outra variável.

Defina as variáveis

As variáveis de ambiente pertencem a uma aplicação. Elas sobrevivem a reinícios e commits, mas um novo upload cria uma nova aplicação sem elas, então defina-as de novo nela.
  1. Abra a sua aplicação no dashboard e vá em Configurações → Variáveis de Ambiente.
  2. Adicione cada chave e valor, ou importe um arquivo .env existente.
  3. Clique em Salvar. O dashboard pergunta se você quer reiniciar a aplicação: reinicie para que ela receba os novos valores.
Quando você envia uma nova aplicação pelo dashboard, também pode adicionar variáveis na tela de upload, antes do primeiro start.
As variáveis são carregadas quando a aplicação inicia. Depois de qualquer alteração, reinicie a aplicação; caso contrário, ela continua rodando com os valores antigos.

Leia as variáveis no seu código

Falhar logo quando uma variável está ausente deixa uma mensagem clara nos logs, em vez de um erro confuso mais tarde, como um token inválido.

Variáveis que a Square Cloud define para você

A sua aplicação já inicia com estas variáveis definidas:
Não sobrescreva PORT nem HOST em um site: a plataforma só alcança um servidor na porta 80 e no host 0.0.0.0.
Como o NODE_ENV é production, o npm install pula as devDependencies. Se o seu comando START faz o build do projeto (por exemplo, com typescript ou vite), liste essas ferramentas de build em dependencies no package.json.

Como as variáveis chegam à sua aplicação

A Square Cloud guarda as variáveis em um arquivo .squarecloud/.env dentro da aplicação e as carrega com um shell toda vez que a aplicação inicia, antes de as dependências serem instaladas e de o seu comando START ou arquivo MAIN rodar. Duas consequências:
  • Nomes devem usar letras, dígitos e underscores, e não começar com um dígito.
  • Valores com espaços ou caracteres de shell, como $, &, ; ou |, precisam estar entre aspas; caso contrário, o shell os corta ou os expande. O dashboard e o squarecloud app env set colocam as aspas para você. Na extensão para VS Code ou na API, envolva esse valor em aspas simples você mesmo: digite 'p@ss word$1', ou envie "PASSWORD": "'p@ss word$1'" no corpo da requisição.
Os limites são 256 variáveis por aplicação, 1.024 caracteres por nome e 4.096 caracteres por valor. Sites estáticos (HTML/CSS) não suportam variáveis de ambiente e retornam STATIC_APP_ENV_NOT_SUPPORTED.

Mantenha os segredos fora do seu upload

Se o seu código carrega um arquivo .env por conta própria (por exemplo, com o dotenv), esse arquivo precisa estar no upload. Listar o .env no squarecloud.ignore, nesse caso, inicia a aplicação sem os segredos, e um bot falha com token inválido. A configuração mais segura: mova cada valor do seu .env para as variáveis de ambiente da aplicação, como mostrado acima. Depois que elas estiverem definidas, você pode deixar o .env fora do upload e do seu repositório Git. O dotenv não sobrescreve variáveis que já existem, então o mesmo código continua funcionando na sua máquina e na Square Cloud.
Nunca faça commit de tokens ou senhas em um repositório público. Se um deles vazar, revogue-o no provedor (por exemplo, redefina o token do bot no Discord Developer Portal) e defina o novo valor aqui.

Próximos passos

Arquivo de configuração

Defina MAIN, MEMORY, START e os outros campos do squarecloud.app.

Hospede um bot do Discord

Faça deploy de um bot que lê o token de uma variável de ambiente.

Erros do bot do Discord

Corrija um token inválido, intents ausentes e bots que ficam offline.

Erros de conexão com banco de dados

Conecte com uma DATABASE_URL e as configurações de SSL certas.