Installation
Variáveis de Ambiente de Deployment
Variáveis de ambiente mínimas usadas pelos guias de instalação, com ligações para a referência completa.
Variáveis de Ambiente de Deployment
Esta página lista as variáveis que a maioria dos operadores precisa durante a instalação. Para o catálogo completo, vê Environment Variables Reference.
Variáveis core obrigatórias
| Variável | Propósito |
|---|---|
DB_URL | JDBC URL para PostgreSQL, normalmente jdbc:postgresql://postgres:5432/quotenode dentro do Docker Compose. |
DB_NAME | Nome da base de dados PostgreSQL. |
DB_USERNAME | Utilizador da aplicação PostgreSQL. |
DB_PASSWORD | Password do PostgreSQL. Usa um valor aleatório longo. |
DB_ENCRYPTION_KEY | Chave hex de 64 caracteres para cifragem a nível da aplicação. Guarda-a de forma segura. |
TIMING_TOKEN_SECRET | Segredo HMAC para verificações de segurança de timing tokens. |
PUBLIC_LINK_PASSWORD_SESSION_SECRET | Segredo para sessões de links públicos protegidos por password/PIN. |
CORS_ALLOWED_ORIGINS | Origens exatas do browser autorizadas a chamar o backend. |
Gera segredos em Linux/macOS:
openssl rand -hex 32
openssl rand -base64 32
Variáveis de URL público
| Variável | Propósito |
|---|---|
CORS_ALLOWED_ORIGINS | Deve corresponder exatamente ao URL do browser, por exemplo https://crm.example.com. |
NOTIFICATIONS_PUBLIC_PREFERENCES_URL | URL público para links de preferências de notificação, por exemplo https://crm.example.com/notifications/preferences. |
DOMAIN | Usado por deployments de Docker Compose com proxy interno. A Coolify normalmente gere domínios fora da app. |
SERVICE_URL_FRONTEND | Variável de compatibilidade opcional para templates de operador e automatização futura de deployment; o ficheiro compose atual da Coolify não a consome diretamente. Mantém-na alinhada com a origem do frontend se o teu deployment a usar. |
Variáveis de email
| Variável | Propósito |
|---|---|
SMTP_HOST | Hostname do servidor SMTP. |
SMTP_PORT | Porto SMTP, normalmente 587. |
SMTP_USERNAME | Username da conta SMTP. |
SMTP_PASSWORD | Password SMTP ou app password. |
SMTP_AUTH | Normalmente true para SMTP de produção. |
SMTP_STARTTLS | Normalmente true para o porto 587. |
NOTIFICATIONS_ENABLED | Ativa notificações. |
NOTIFICATIONS_EMAIL_ENABLED | Ativa a entrega de email para notificações. |
Variáveis de PDF, backup e segurança
| Variável | Valor beta recomendado | Notas |
|---|---|---|
PDF_ENABLED | true | Requer Gotenberg na stack. |
FEATURE_2FA_ENABLED | true | Ativa fluxos de autenticação de dois fatores. |
SECURITY_BOT_DETECTION_ENABLED | true | Mantém ativas as proteções de bot para links públicos. |
SECURITY_TRUSTED_PROXIES | vazio (detetado automaticamente) | Pares de reverse proxy de confiança adicionais (IP/CIDR literais e/ou nomes de host de serviço). Normalmente deixe vazio: o IP do cliente é detetado automaticamente atrás de proxies internos (gamas privadas/loopback) e CDNs como a Cloudflare (via CF-Connecting-IP). Defina apenas para um proxy invulgar cujo par de transporte seja um endereço público. Os cabeçalhos de reencaminhamento de um par direto (não interno) são sempre ignorados. Verifique o modo do resolver em Administração → Segurança → estado efetivo. |
SECURITY_IP_WHITELIST | vazio | Lista de permissões de IP do operador opcional (IP/CIDR separados por vírgulas). Quando ativa, protege toda a superfície de administração, incluindo os ecrãs de início de sessão e 2FA. Prevalece sobre a definição na aplicação e é aplicada no arranque (sem reversão automática — confirme que o seu próprio endereço está abrangido). |
SECURITY_IP_WHITELIST_FORCE_DISABLE | false | Emergência: defina true + reinício para recuperar de um bloqueio da lista de IP (incluindo não conseguir iniciar sessão). Apenas ENV. |
SECURITY_IP_WHITELIST_CONFIRMATION_WINDOW_SECONDS | 120 | Quanto tempo uma ativação/restrição na aplicação fica pendente antes de reverter automaticamente para a lista anterior se a sua sessão não reconfirmar (segurança contra bloqueios). Não se aplica à variável ENV acima. |
BACKUP_ENABLED | true para produção, opcional para primeiro teste local | Usa com um processo de restore testado. |
BACKUP_CRON | 0 0 2 * * * | Diariamente às 02:00 por default. |
GEOIP_ENABLED | false | Apenas interruptor de imposição por país — também o interruptor de emergência. A base carrega e atualiza-se de forma independente (ver GEOIP_AUTO_UPDATE), por isso pode estar pronta enquanto a imposição está desligada. Defina false + reinício para recuperar de um bloqueio de país por GeoIP — isto desliga a imposição de forma fiável, independentemente de existir uma base de dados. |
SECURITY_GEOIP_ALLOWED_COUNTRIES | vazio | Lista de países permitidos ISO 3166-1 alpha-2 (p. ex. PL,DE); em maiúsculas e validada. Vazio = sem restrição. |
LOG_LEVEL | INFO para primeiro deploy, reduz depois se necessário | Usa os diagnósticos de administração para escalada temporária. |
Variáveis de verificação de release
| Variável | Propósito |
|---|---|
VITE_RELEASE_CHECK_ENABLED | Ativa verificações de release upstream apenas para administradores. |
VITE_RELEASE_MANIFEST_URL | Faz default a https://quotenode.dev/releases/latest.json. |
APP_VERSION | Versão de release ou tag da imagem. Pode estar vazio para deployments de source. |
APP_CHANNEL | alpha, beta, rc, dev ou stable. |
APP_COMMIT_SHA | Commit SHA embutido nos metadados de build quando disponível. |
APP_BUILD_TIME | Timestamp de build. |
APP_BUILD_NUMBER | Número de build do CI. |
APP_SOURCE_REF | Branch ou tag de source. |
APP_IMAGE_TAG | Tag da imagem selecionada pelo deployment. |
Segurança da licença
Nunca atives o bypass de assinatura num deployment real:
LICENSE_SKIP_SIGNATURE_CHECK=false
Define isto explicitamente como false em ambientes de produção e beta. O ficheiro compose faz default a false quando omitido, mas deployments reais não devem confiar num default implícito para um controlo de segurança de licença. Usa true apenas em ambientes locais de desenvolvimento descartáveis.