Skip to main content
O arquivo .env é onde você diz para a plataforma como ela deve se comportar: onde está o banco de dados, qual senha usar, quais serviços se comunicam entre si. Sem ele configurado corretamente, nada funciona. A boa notícia: para a maioria das instalações com Docker, você não precisa mudar quase nada.

Como funciona

Toda a configuração fica em um único arquivo .env na raiz do projeto. Ele é criado a partir de um modelo pronto:
O .env.example já vem com valores padrão que funcionam imediatamente para rodar a plataforma localmente com Docker. Abra o .env com qualquer editor de texto e ajuste apenas o que for necessário para o seu ambiente.
O arquivo .env.example é o arquivo com a lista completa de todas as variáveis disponíveis. Consulte-o sempre que precisar de uma referência completa.

Banco de dados (PostgreSQL)

Todos os serviços compartilham o mesmo banco de dados. Com Docker, essas variáveis já estão configuradas e funcionam sem alteração.
O serviço Core (evo-ai-core-service-community) usa um conjunto separado de variáveis com o mesmo banco:
O serviço Processor usa o formato de string de conexão:
O Evo CRM Community não é compatível com MySQL, MariaDB ou SQLite. Use sempre PostgreSQL 16 ou superior com a extensão pgVector habilitada.

Redis (cache e filas)

O Redis é usado para manter sessões ativas e processar tarefas em segundo plano. Com Docker, ele já sobe automaticamente.

Secrets compartilhados

Essas são as variáveis mais importantes para a segurança da plataforma. Elas devem ter o mesmo valor em todos os serviços que as utilizam.
Como gerar os valores:
Em produção, nunca use os valores do .env.example. Gere valores únicos para cada instalação. Todos os serviços que compartilham uma chave devem usar exatamente o mesmo valor.

Frontend

As variáveis do frontend começam com VITE_ e são incorporadas ao código no momento do build. Elas usam localhost porque o navegador as acessa diretamente — não pelo Docker.
Em produção, substitua localhost pelos domínios reais da sua instalação:

E-mail (SMTP)

Em desenvolvimento, a plataforma usa o Mailhog — um servidor de e-mail local que captura as mensagens sem enviá-las de verdade. Acesse http://localhost:8025 para ver os e-mails capturados.
Para produção, substitua pelos dados do seu provedor de e-mail:

Configuração via UI em runtime (a partir do v1.0.0-rc3)

A partir do v1.0.0-rc3 (EVO-1049), as configurações de SMTP, BMS e Resend podem ser alteradas via UI no painel /settings/admin e são aplicadas em runtime, sem reiniciar o container. Antes era necessário restart para que mudanças refletissem. Isso significa que você pode:
  • Manter .env apenas com defaults (ou nem configurar SMTP no .env, deixando vazio).
  • Configurar credenciais de produção pela UI após o boot.
  • Trocar provedor (de SMTP para Resend, por exemplo) sem downtime.
O acesso ao painel /settings/admin é exclusivo do papel super_admin — o operador da instalação, separado do account_owner.

Licensing e Operador

A partir do v1.0.0-rc3, o .env.example documenta a variável de operador:
Este e-mail é referência para auto-ativação e telemetria. Para detalhes, ver Licensing.

Canais opcionais

Essas variáveis ficam comentadas no .env.example e só precisam ser configuradas se você for usar os respectivos canais.

Dicas de segurança

  • Nunca envie o arquivo .env para o GitHub ou GitLab. Ele já está no .gitignore por padrão.
  • O arquivo .env.example é seguro para versionar — ele contém apenas exemplos sem dados reais.
  • Em produção, gere valores únicos para SECRET_KEY_BASE, JWT_SECRET_KEY, ENCRYPTION_KEY e EVOAI_CRM_API_TOKEN.
  • Use senhas fortes e únicas para POSTGRES_PASSWORD e REDIS_PASSWORD.

Solução de problemas

Banco de dados não conecta

Se após o make setup você vir erros de conexão:
  1. Verifique se os containers estão rodando: make status
  2. Confira os valores de POSTGRES_HOST, POSTGRES_USERNAME e POSTGRES_PASSWORD no .env
  3. Para banco em nuvem, verifique se o acesso externo está liberado no painel do provedor

E-mail não está sendo enviado

Em desenvolvimento, os e-mails não são enviados de verdade — ficam retidos no Mailhog. Acesse http://localhost:8025 para visualizá-los.

Serviço não sobe após o setup

Os logs mostram exatamente qual variável está faltando ou com valor incorreto.