Pular para o conteúdo principal

Introdução

Para desenvolver e hospedar um aplicativo no Square Cloud, é essencial seguir uma sequência estruturada de configurações e pré-requisitos. Este guia técnico abordará todo o processo, desde a configuração inicial até a implantação em produção.

Pré-requisitos

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

Por que usar o Evolution API?

O Evolution API facilita o uso de várias ferramentas em um único lugar, integrando n8n, Chatwoot e outras ferramentas. Este projeto permite criar e conectar-se rapidamente a uma instância através dele ou pela sua API, gerenciando várias instâncias de bots em um só lugar.

Configurando o projeto

Primeiro, você precisa obter o projeto de alguma fonte. Você pode obtê-lo do repositório oficial ou do nosso repositório, que já contém os arquivos necessários para fazer o deploy nas releases.

Configuração do banco de dados

Para começar a configurar, precisamos de um banco de dados. Você pode hospedar um na Square Cloud se tiver o plano Standard ou superior. Após criá-lo, precisamos definir no arquivo .env a URL como DATABASE_CONNECTION_URI e criar o certificado de cliente, conforme mostrado na nossa documentação do Prisma.
.env
DATABASE_PROVIDER=postgresql
DATABASE_CONNECTION_URI='postgresql://squarecloud:password@host:port/database?sslmode=require&sslidentity=path/to/client-identity.p12&sslpassword=p12password'
DATABASE_CONNECTION_CLIENT_NAME='evolution_exchange'
DATABASE_SAVE_DATA_INSTANCE=true
DATABASE_SAVE_DATA_NEW_MESSAGE=true
DATABASE_SAVE_MESSAGE_UPDATE=true
DATABASE_SAVE_DATA_CONTACTS=true
DATABASE_SAVE_DATA_CHATS=true
DATABASE_SAVE_DATA_LABELS=true
DATABASE_SAVE_DATA_HISTORIC=true
DATABASE_SAVE_IS_ON_WHATSAPP=true
DATABASE_SAVE_IS_ON_WHATSAPP_DAYS=7
DATABASE_DELETE_MESSAGE=true
Com a variável de ambiente e o certificado configurados, você deve aplicar as migrações no seu banco de dados. Para isso, é necessário ter o arquivo runWithProvider.js na pasta do projeto e executar o seguinte comando:
npm run db:deploy:win

Configuração do servidor

Conforme mostrado no arquivo .env.example do repositório, você precisa definir algumas variáveis de ambiente: SERVER_TYPE, SERVER_PORT, SERVER_URL.
.env
SERVER_NAME=evolution
SERVER_TYPE=http
SERVER_PORT=80
# Altere o SERVER_URL para a URL real do seu servidor.
# Você pode alterar para a URL do seu app, selecionada ao criar o app
# ou quando configurar um domínio
SERVER_URL="https://my-evolution-api.squareweb.app"
LANGUAGE="pt-BR"
# Outras variáveis abaixo...

Deploying

Para implantar na Square Cloud, você só precisa definir o comando de inicialização e publicar como web. Para a instalação e build, recomendamos usar 3096MB de RAM.
startup command
npx prisma generate --schema prisma/postgresql-schema.prisma && npm run build && npm run start:prod

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 no Square Cloud. Após o deploy, você poderá monitorar o status e os registros do seu projeto no painel.

Via CLI

Para usar esse método, você precisa criar um arquivo de configuração chamado squarecloud.app no diretório raiz do seu projeto. Esse arquivo conterá a configuração necessária para o seu projeto.

Saiba mais sobre: Como criar arquivo de configuração da Square Cloud.

O arquivo squarecloud.app é um arquivo de configuração que será usado para configurar seu aplicativo; ele será usado para definir seu ambiente.
1

Primeiro Passo

Primeiro, você precisa ter a CLI instalada em seu ambiente. Se você ainda não a possui, execute o seguinte comando em seu terminal:
npm install -g @squarecloud/cli
Se você já a possui, recomendamos atualizá-la. Para fazer isso, execute o seguinte comando em seu terminal:
squarecloud update
2

Segundo Passo

Agora, para autenticar e usar outros comandos da CLI, você encontrará sua chave de autorização aqui clicando em “Solicitar Chave da API”. Após obter sua chave de autorização, execute o seguinte comando:
squarecloud auth login
3

Terceiro Passo

Finalmente, para fazer o deploy da sua aplicação para a Square Cloud usando a CLI, você precisa executar o seguinte comando:
squarecloud upload
Ou se já possui o zip criado:
squarecloud upload --file <caminho/para/zip>

Informações adicionais

Após a primeira execução, você pode reduzir a RAM para 1536MB ou 2048MB e definir o comando de inicialização apenas para:
npm run start:prod

Sistema de cache

Você pode configurar um sistema de cache no Evolution API. Para isso, você precisará de um banco de dados Redis, que também pode ser hospedado na Square Cloud.
Para configurá-lo, você também precisará baixar o certificado e definir a URL de conexão.
.env
CACHE_REDIS_ENABLED=true
CACHE_REDIS_URI="redis://default:MySecurePassword@square-cloud-db-ID.squareweb.app:7170"
CACHE_REDIS_TTL=604800
# Prefixo serve para diferenciar dados de uma instalação para outra que estejam usando o mesmo Redis
CACHE_REDIS_PREFIX_KEY=evolution
# Habilitar esta variável fará com que as informações de conexão sejam salvas no Redis e não no banco de dados.
CACHE_REDIS_SAVE_INSTANCES=false

Solução de problemas

Domínio Personalizado

Para usar domínio personalizado (ex: meusite.com) ao invés da URL padrão meusite.squareweb.app, você precisa do plano Standard ou superior. O subdomínio é definido pelo campo SUBDOMAIN no arquivo de configuração. Veja: Como configurar seu domínio personalizado.

Requisitos Mínimos de RAM

Mínimo: 512MB de RAM para websites/APIs simples. Para sites com frameworks (Next.JS, React, Vue, Angular, etc.), sugerimos sempre pelo menos 1GB de RAM. Para aplicações maiores, use mais RAM para evitar erro LACK_OF_RAM e garantir performance.

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…

Verifique se configurou corretamente a porta 80 e host 0.0.0.0 na aplicação. Recomendamos usar as variáveis de ambiente forçadas da Square: PORT e HOST do arquivo .env.

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.