Configuração

Variáveis de ambiente, definições da framework, e configuração por módulo.

Nesta página

Configuração

VariƔveis de ambiente

Copie .env.example para .env e preencha os seus próprios valores - lidos em qualquer parte da aplicação via getSystemSetting( "VAR_NAME", "default" ):

VariÔvelPropósito
APPNAMENome de exibição da aplicação
ENVIRONMENTdevelopment ou production
ASSET_URLPrefixo de URL público para os assets de produção do Vite (predefinição /includes)
BOXLANG_DEBUGAtiva a saída de depuração do BoxLang
DB_CONNECTIONSTRINGCadeia de ligação JDBC completa
DB_DRIVERDriver de base de dados, em minúsculas, correspondendo a um módulo de driver JDBC bx-* (mysql para MySQL ou MariaDB, mssql, postgresql, h2, oracle, sqlite) - o onServerInitialInstall do server.json instala o bx-${DB_DRIVER} no primeiro arranque do servidor
DB_HOST / DB_PORT / DB_DATABASEDetalhes de ligação à base de dados
DB_SCHEMAEsquema visado pelo executor de migraƧƵes (.cbmigrations.json); deixe em branco para motores sem esquema
DB_USER / DB_PASSWORDCredenciais da base de dados
JWT_SECRETChave de assinatura para o suporte de JWT do cbsecurity
COOKIE_ENCRYPTION_KEYChave de encriptação para o armazenamento de cookies do cbstorages. Só importa depois de useEncryption estar ativado (desativado por predefinição) - defina-a antes de o fazer, ou a chave regenera-se a cada arranque e invalida silenciosamente os cookies previamente encriptados
CBFS_ASSETS_DISK_PATHCaminho no sistema de ficheiros para o disco assets do cbfs, que guarda os avatares e o logótipo de marca (predefinição <app-root>/.cbfs)
COLDBOX_REINIT_PASSWORDPalavra-passe exigida por ?fwreinit. Não definida significa um valor aleatório novo a cada arranque, pelo que a reinicialização fica fechada - veja Implantação
COLDBOX_SESSION_TIMEOUTTempo limite da cache de sessão, em minutos, para o armazenamento de sessão do cbstorages (predefinição 60)

DefiniƧƵes da framework (app/config/Coldbox.bx)

DefiniçãoValor
defaultEventAuth.login — os visitantes nĆ£o autenticados aterram na pĆ”gina de inĆ­cio de sessĆ£o
requestStartHandlerMain.onRequestStart
applicationStartHandlerMain.onAppInit
exceptionHandlerMain.onException
modulesExternalLocation["/modules"]
autoMapModelstrue
jsonPayloadToRCtrue
reinitPasswordCOLDBOX_REINIT_PASSWORD, ou um novo UUID aleatório a cada arranque quando não estÔ definida

Uma sobreposição do ambiente development() ativa o template de erro Whoops, a recarga de singletons do WireBox, o modo de depuração do ColdBox, e limpa o reinitPassword, para que ?fwreinit=1 funcione localmente sem uma palavra-passe. O LogBox estÔ configurado com um appender de consola mais um appender de ficheiro rotativo, que escreve em app/logs.

Definições da aplicação vs. configuração da framework

Duas coisas diferentes residem ambas sob app/config/, e Ʃ fƔcil confundi-las:

A configuração da framework (Coldbox.bx, Router.bx, WireBox.bx, CacheBox.bx, Scheduler.bx) é estÔtica, baseada em ficheiros, e as alterações só têm efeito no próximo ?fwreinit.

As definições da aplicação (cbAppName, cbAllowRegistration, cbMinPasswordLength, ...) são guardadas na base de dados, editÔveis pelo administrador em /settings, definidas em SettingService.static.DEFAULTS, e colocadas em cache com um TTL de 2 horas.

SettingService.preFlightCheck() (chamado a partir de Main.onAppInit) semeia na base de dados, no arranque, qualquer predefinição em falta, pelo que adicionar uma nova chave a DEFAULTS jÔ é suficiente para que ela apareça. Uma definição também pode ser substituída de duas outras formas, ambas lidas por loadConfigOverrides()/loadEnvironmentOverrides():

  • Qualquer chave com o prefixo cb* colocada em variables.settings do Coldbox.bx
  • Qualquer variĆ”vel de ambiente com o prefixo genesis_*

Configuração de módulos

Cada módulo instalado tem o seu próprio ficheiro de definições em app/config/modules/:

MóduloDefinições principais
cbsecurityfornecedor cbauth, CSRF (rotativo, 30 min), firewall com deteção de anotaƧƵes @secured, cabeƧalhos de seguranƧa, JWT (HS512, 60 min) — veja SeguranƧa e PermissƵes
cbauthUserService como fornecedor de identidade, armazenamento de sessão baseado em cache
cbmailservicesprotocolo BXMail em produção, protocolo de ficheiros em desenvolvimento — veja E-mail
cborminjeção de entidades ativada, paginação maxRows: 25 / maxRowsLimit: 500
cbfsdisco assets (fornecedor Local por predefinição, caminho a partir de CBFS_ASSETS_DISK_PATH) - guarda os avatares e o logótipo de marca, servidos em stream por Assets.bx — veja Frontend
cbstoragesarmazenamento em cache (cache de sessões, tempo limite a partir de COLDBOX_SESSION_TIMEOUT, predefinição 60 min), armazenamento de cookies (encriptação desativada por predefinição)
cbsecurity-passkeysconfiguração de relying party WebAuthn para início de sessão com passkey - relyingPartyId/allowedOrigins são valores placeholder de localhost que tem de alterar antes de ir para produção, veja Implantação
mementifierdatas ISO8601, auto-inclusões do ORM, conversão para UTC
Editar esta página Baixar Markdown Última atualização Oct 1, 2026, 11:06:51 AM