Ir para o conteúdo
Q
QuoteNode

Operations

Referencia de variaveis de ambiente

Referencia completa das variaveis de ambiente do QuoteNode para producao, desenvolvimento, Docker Compose e operacao.

Variaveis de ambiente

As variaveis de ambiente controlam comportamentos criticos do QuoteNode. Devem ser geridas como parametros sensiveis de infraestrutura.

Como ler esta referencia

  • Prod significa que a variavel pertence ao .env de producao
  • Dev significa desenvolvimento local ou stacks de demo
  • Compose significa wiring do Docker Compose no host, nao da aplicacao em si
  • defaults vazios significam normalmente “define explicitamente quando precisares desta feature”

Variaveis de Compose e stack local

Estas variaveis moldam o ambiente local em Docker Compose e o proxy dev do frontend.

VariavelAmbitoObjetivoValor tipico
COMPOSE_PROJECT_NAMEDev / ComposeEvita colisoes de nomes de contentoresquotenode-dev
POSTGRES_PORTDev / ComposePorta host mapeada para PostgreSQL5433, 5434
MAILPIT_PORTDev / ComposePorta da UI do Mailpit8025, 8026
BACKEND_PORTDev / ComposePorta host da API backend8091, 8092
FRONTEND_PORTDev / ComposePorta host do frontend5174, 5175
VITE_PUBLIC_API_BASEDev / FrontendURL base da API visivel no browserhttp://localhost:8091
APP_VERSIONProd / Dev / ComposeTag de imagem Docker selecionadalatest
PROXY_MODEProd / Dev / ComposeDefine se o Caddy corre interno ou externointernal, external
DOMAINProd / ComposeDominio publico usado por Caddy e URLs publicosquotenode.example.com

Base de dados e runtime

VariavelAmbitoObjetivoValor tipico
DB_URLProd / DevString JDBC para PostgreSQLjdbc:postgresql://postgres:5432/quotenode
DB_USERNAMEProd / DevUtilizador da base de dadosquotenode
DB_PASSWORDProd / DevPassword da base de dados32+ chars em prod
DB_NAMEProd / Dev / ComposeNome da base de dadosquotenode
SPRING_PROFILES_ACTIVEProd / DevPerfil Spring ativoprod, dev
CORS_ALLOWED_ORIGINSProd / DevOrigins permitidas para o browserhttps://yourdomain.com
LOG_LEVELProd / DevVerbosidade base dos logsERROR, INFO, DEBUG

Rotacao de logs Docker e diagnostico

VariavelAmbitoObjetivoValor tipico
DOCKER_LOG_MAX_SIZEProd / ComposeTamanho maximo de um ficheiro de log antes de rotacao10m
DOCKER_LOG_MAX_FILEProd / ComposeNumero de ficheiros de log retidos5
SUPPORT_LOGS_BUFFER_SIZEProdTamanho do buffer de preview de logs4000
SUPPORT_LOGS_PREVIEW_RATE_LIMIT_PER_MINUTEProdRate limit para preview de logs30
SUPPORT_LOGS_LOG_LEVEL_DEFAULT_TTL_MINUTESProdTempo de expiracao do override temporario de log level15
SUPPORT_LOGS_LOG_LEVEL_MAX_TTL_MINUTESProdJanela maxima para elevar log level30

Seguranca, autenticacao e sessao

VariavelAmbitoObjetivoValor tipico
DB_ENCRYPTION_KEYProd / DevChave principal de cifragem aplicacional64 chars hex
TIMING_TOKEN_SECRETProd / DevSegredo HMAC para protecao anti-bot32+ chars
PUBLIC_LINK_PASSWORD_SESSION_SECRETProd / DevSegredo de sessao para links publicos protegidos32+ chars
AUTH_PASSWORD_MIN_LENGTHProd / DevComprimento minimo de password12, 8
AUTH_PASSWORD_COMPLEXITY_LEVELProd / DevNivel de complexidade exigido2, 1
AUTH_SESSION_IDLE_TIMEOUT_MINProd / DevTimeout por inatividade30, 480
SECURITY_SESSION_ABSOLUTE_TIMEOUT_HProd / DevDuracao maxima absoluta da sessao12, 24
SECURITY_MAX_FAILED_LOGINS_SOFTProd / DevLimite de falhas para aviso5, 10
SECURITY_MAX_FAILED_LOGINS_TEMP_LOCKProd / DevLimite para bloqueio temporario10, 20
SECURITY_MAX_FAILED_LOGINS_HARD_LOCKProd / DevLimite para bloqueio forte20, 50
SECURITY_TEMP_LOCK_MINUTESProd / DevDuracao do bloqueio temporario30, 5
FEATURE_2FA_ENABLEDProd / DevAtiva fluxos de 2FAtrue, false
SECURITY_REQUIRE_2FA_ROLESProd / DevPerfis obrigados a ativar 2FAADMIN
SECURITY_BOT_DETECTION_ENABLEDProd / DevAtiva camada de bot detectiontrue, false

Estas variaveis definem o baseline de seguranca da instancia. Devem ser revistas explicitamente antes de qualquer go-live.

CRM, ficheiros, importacoes e media de produto

VariavelAmbitoObjetivoValor tipico
CRM_DEDUP_NAME_SIMILARITY_THRESHOLDProd / DevThreshold de similaridade para aviso de duplicados0.8
CRM_DEDUP_EMAIL_DOMAIN_WARNProd / DevAviso quando dominios de email coincidemtrue
CRM_ATTACHMENT_MAX_SIZE_MBProd / DevTamanho maximo de anexos CRM25
CSV_IMPORT_MAX_ROWSProd / DevLimite de linhas em importacoes CSV5000
STORAGE_PATHProd / DevDiretoria raiz para uploads/data/uploads
PIM_MEDIA_MAX_SIZE_MBProd / DevTamanho maximo de uma imagem de produto5
PIM_MEDIA_MAX_PER_PRODUCTProd / DevNumero maximo de media por produto5
PIM_MEDIA_ALLOWED_TYPESProd / DevExtensoes de media permitidasjpg,jpeg,png,webp,svg
VariavelAmbitoObjetivoValor tipico
SMTP_HOSTProd / DevHostname do servidor SMTPprovider ou localhost
SMTP_PORTProd / DevPorta SMTP587, 1025, 1026
SMTP_USERNAMEProd / DevUsername SMTPconta do provider
SMTP_PASSWORDProd / DevPassword SMTPsegredo
SMTP_AUTHProd / DevAtiva autenticacao SMTPtrue, false
SMTP_STARTTLSProd / DevAtiva STARTTLStrue, false
PUBLIC_LINK_TOKEN_BYTESProd / DevEntropia dos tokens de links publicos32
PUBLIC_LINK_DEFAULT_EXPIRY_DAYSProd / DevValidade por defeito do link publico0
PUBLIC_RATE_LIMIT_OPEN_PER_HOURProd / DevLimite horario de abertura60, 999
PUBLIC_RATE_LIMIT_ACTION_PER_HOURProd / DevLimite horario para acoes publicas5, 999
NOTIFICATIONS_ENABLEDProd / DevAtiva subsistema de notificacoestrue
NOTIFICATIONS_EMAIL_ENABLEDProd / DevAtiva entrega email de notificacoestrue, false

Shipping, FX e defaults de proposta

VariavelAmbitoObjetivoValor tipico
SHIPPING_DEFAULT_VOLUMETRIC_DIVISORProd / DevDivisor para peso volumetrico4000
SHIPPING_OVERRIDE_REQUIRES_REASONProd / DevObriga justificacao para override de shippingtrue
FX_PROVIDERProd / DevFonte das taxas FXNBP, ECB, CUSTOM
FX_PROVIDER_URLProd / DevURL custom do provider FXvazio ou URL
FX_REFRESH_INTERVAL_MINProd / DevCadencia de refresh das taxas60
FX_DEFAULT_MARGIN_PERCENTProd / DevMargem default aplicada sobre a taxa0
OFFER_NUMBER_PREFIXProd / DevPrefixo de numeracao das propostasOF

PDF

VariavelAmbitoObjetivoValor tipico
PDF_ENABLEDProd / DevAtiva geracao PDFtrue, false
PDF_GOTENBERG_URLProd / DevURL interna do servico Gotenberghttp://gotenberg:3000
PDF_SYNC_TIMEOUT_MSProd / DevTimeout para pedidos sincronos de PDF10000
PDF_SYNC_MAX_ITEMSProd / DevNumero maximo de linhas para modo sincrono50
PDF_STORAGE_PATHProd / DevCaminho do filesystem para PDFs gerados/data/pdfs
PDF_RETENTION_DAYSProd / DevPeriodo de retencao dos PDFs365
PDF_WORKER_CONCURRENCYProd / DevConcorrencia dos workers de PDF2

Licenciamento, relatorios e manutencao

VariavelAmbitoObjetivoValor tipico
LICENSE_SKIP_SIGNATURE_CHECKProd / DevSalta validacao de assinatura da licencafalse
LICENSE_EXPIRY_CHECK_INTERVAL_HProd / DevCadencia de verificacao da expiracao24
REPORTS_DEFAULT_PERIOD_DAYSProd / DevJanela default dos relatorios30
REPORTS_EXPORT_MAX_ROWSProd / DevLimite de linhas para exportacao10000

Backups, GeoIP e privacidade

VariavelAmbitoObjetivoValor tipico
BACKUP_ENABLEDProd / DevAtiva backups agendadostrue, false
BACKUP_CRONProd / DevExpressao cron do backup0 0 2 * * *
BACKUP_LOCAL_DIRRuntime / ComposeDiretorio local dos backups/app/data/backups
BACKUP_RCLONE_REMOTEProd / DevDestino rclone para copias remotass3:bucket/path
BACKUP_GPG_RECIPIENTProd / DevRecipiente GPG para cifragemfingerprint ou email
GEOIP_ENABLEDProd / DevAtiva controlo GeoIPfalse
GEOIP_DB_PATHProd / DevCaminho da base MaxMind/app/data/geoip/...
SECURITY_GEOIP_ALLOWED_COUNTRIESProd / DevAllowlist de paises ISOPT,ES,FR
GDPR_ANONYMIZE_AUTO_AFTER_DAYSProd / DevHorizonte de anonimização automatica0

Orientacao pratica

  • comeca pelo template de producao para ambientes reais e pelo template de desenvolvimento para stacks locais
  • trata DB_ENCRYPTION_KEY, TIMING_TOKEN_SECRET, PUBLIC_LINK_PASSWORD_SESSION_SECRET e credenciais SMTP como segredos com backup seguro
  • evita levar portas de Compose e variaveis de frontend para o .env de producao sem necessidade
  • para o setup minimo viavel, consulta o Guia de instalacao
  • para topologia e modos de deploy, consulta Opcoes de deployment

Last reviewed: Recently