# Variáveis de ambiente Última atualização: 20/08/2026 ```{warning} Esta página documenta apenas **nomes** de variáveis. Valores reais (senhas, hosts internos, chaves) vivem exclusivamente em `.secrets/.env` (fora do controle de versão) e nunca devem ser copiados para esta documentação. ``` ## Arquivo e symlink - Credenciais reais: `.secrets/.env` (gitignored). - Root `.env` (usado pela interpolação `${VAR}` do `docker-compose.yml`) deve ser um **symlink** para `.secrets/.env` — sem ele, variáveis interpoladas em `environment:` ficam vazias mesmo com `env_file:` configurado, causando falhas de conexão silenciosas (ver [runbook Redis crash loop](../runbooks/redis-crash-loop-env-symlink.md)). - `.env.prod` no repo é o mesmo arquivo, symlinkado de forma equivalente. ## Grupos de variáveis por serviço | Grupo | Variáveis (nomes) | Consumido por | |---|---|---| | Postgres (Rails) | `POSTGRES_HOST`, `POSTGRES_PORT`, `POSTGRES_DATABASE`, `POSTGRES_USERNAME`, `POSTGRES_PASSWORD`, `POSTGRES_SSLMODE` | `evo-auth`, `evo-crm` | | Postgres (Go/Python — nomenclatura própria) | `DB_HOST`, `DB_PORT`, `DB_USER`, `DB_PASSWORD`, `DB_NAME`, `DB_SSLMODE` / `POSTGRES_CONNECTION_STRING` | `evo-core`, `evo-processor` | | Redis | `REDIS_HOST`, `REDIS_PORT`, `REDIS_PASSWORD`, `REDIS_DB`, `REDIS_SSL`, `REDIS_URL` | todos os serviços com cache/fila | | Auth/JWT | `JWT_SECRET_KEY`, `JWT_ALGORITHM`, `DOORKEEPER_JWT_SECRET_KEY`, `DOORKEEPER_JWT_ISS`, `DOORKEEPER_JWT_AUD`, `SECRET_KEY_BASE`, `ENCRYPTION_KEY` | `evo-auth`, `evo-crm` | | Integração entre serviços | `EVO_AUTH_SERVICE_URL`, `EVO_AI_CORE_SERVICE_URL`, `BOT_RUNTIME_URL`, `BOT_RUNTIME_SECRET`, `AI_PROCESSOR_URL`, `EVOLUTION_BASE_URL`, `EVOAI_CRM_API_TOKEN` | comunicação interna | | Frontend (Vite, build-time) | `VITE_API_URL`, `VITE_AUTH_API_URL`, `VITE_WS_URL`, `VITE_EVOAI_API_URL`, `VITE_AGENT_PROCESSOR_URL` | `evo-frontend` (substituídas via `sed` no boot, imagem agnóstica de ambiente) | | SMTP | `SMTP_ADDRESS`, `SMTP_PORT`, `SMTP_USERNAME`, `SMTP_PASSWORD`, `SMTP_DOMAIN`, `SMTP_AUTHENTICATION`, `SMTP_ENABLE_STARTTLS_AUTO` | `evo-auth`, `evo-crm` | ## Nota técnica — escape `$$` em `env_file` O carregamento via `env_file:`/`--env-file` do `docker compose` usa a convenção de escape `$$` → `$` para caracteres literais dentro de senhas (ex.: senha com `$` literal). Essa convenção **não se aplica** a `docker compose run -e` nem a `docker run --env-file` — confirmado testando um container real. Ao extrair credenciais de `.secrets/.env` para passar via `-e` em comandos pontuais, reverter o escape manualmente.