Skip to main content

Hub Configuration Reference

Hub extends the localhost IProject interface with additional configuration sections for authentication, email, webhooks, agents, external services, and more. All settings are defined in commons.jsonp and optionally overridden per environment.

Source: Interfaces/IProject.ts

Configuration Sections​

domain​

Extends localhost IServerConfigurationDomain.

PropertyTypePurpose
localhostNamestringInternal hostname for the localhost server

Plus all parent properties: hostname, port, protocol, cert, key, etc.

dbConfigs​

Database connection settings. Supports separate configurations for development, production, and PostgreSQL.

PropertyTypePurpose
devIDbConfigurationDevelopment database connection
prodIDbConfigurationProduction database connection
postgresIDbConfigurationPostgreSQL alternative connection

Each IDbConfiguration:

PropertyTypePurpose
locationstringDatabase host/IP
portnumberDatabase port
dbNamestringDatabase name (inherited from parent)
userstringAuthentication username
passstringAuthentication password
protocolstringConnection protocol (e.g. mongodb, mongodb+srv)
attributesstringConnection string attributes
authSourcestringAuthentication database
fileStorageLocationstringPath for file-based storage

authManagerWorker​

Authentication background worker configuration.

PropertyTypePurpose
enabledbooleanEnable the cron worker thread for auth maintenance tasks
activationCheck.enabledbooleanEnable periodic user activation/expiration checks
activationCheck.intervalnumberCheck interval in seconds
cleanUpService.enabledbooleanEnable expired reset token cleanup
cleanUpService.intervalnumberCleanup interval in seconds
singInCheck.enabledbooleanEnable login attempt tracking
singInCheck.numberOfTriesnumberMax failed login attempts before lockout
singInCheck.intervalnumberLockout check interval in seconds
multiSessionEnabledbooleanAllow multiple concurrent sessions per user
strictEmailCheckbooleanEnforce strict email validation (duplicate checking)
strictSecureSSOcookiesbooleanEnforce Secure flag on SSO cookies (requires HTTPS)
twoFactorAuthentication.forcebooleanRequire 2FA for all users
twoFactorAuthentication.identityNamestringTOTP issuer name (shown in authenticator apps)

sendmail​

Email engine configuration. Type: ISendmailConfiguration (from hub-gui).

Key properties include SMTP server settings, sender address, domain, fetch tick interval, admin email list, and blacklist. See Email System for usage details.

PropertyTypePurpose
enabledbooleanEnable email sending
domainstringApplication domain for email links (falls back to server hostname)
fetchTicknumberQueue processing interval in milliseconds
adminsstring[]Admin email addresses for system notifications
blackListstring[]Email addresses excluded from all sends
defaultSenderstringDefault sender address
batchSizenumberMax queued records delivered per loop tick (default 50)
maxQueueAgeHoursnumberQueued records older than this are dead-lettered instead of sent (default 48)
maxSendAttemptsnumberFailed sends are auto-retried up to this many attempts before dead-letter (default 5)
retryBackoffSecnumber[]Delay in seconds before the n-th retry; the last value repeats (default [60, 300, 900, 3600])

Plus SMTP transport configuration (host, port, auth, TLS).

slack​

Slack integration configuration.

PropertyTypePurpose
enabledbooleanEnable Slack notifications
tokenstringSlack Bot OAuth token (xoxb-...)
iconstringBot avatar image URL
namestringBot display name

msTeams​

Microsoft Teams integration configuration.

PropertyTypePurpose
enabledbooleanEnable MS Teams notifications
webhookURLstringIncoming webhook URL
namestringDisplay name prepended to messages

tunnels​

Agent tunneling configuration for the reverse proxy system.

PropertyTypePurpose
hubLocationstringPublic URL of this Hub instance (used by agents to connect)
serverstring[]Hostname aliases that trigger tunnel routing (domain → agent forwarding)
agentstring[]Agent pool identifiers

See Request Forwarding for architecture details.

certs​

TLS certificate management. Extends localhost ICertsConfiguration.

PropertyTypePurpose
whiteliststring[]Domains allowed for certificate generation

Plus parent properties: certPath, keyPath, etc.

deploy​

Deployment notification settings.

PropertyTypePurpose
slackChannelstringSlack channel for deployment notifications

agentsRegisterUser​

Service account credentials for agent registration.

PropertyTypePurpose
userstringService account username
passstringService account password
warning

If agentsRegisterUser.user is empty, the agent service initialization is skipped entirely.

target​

Application target settings. Extends localhost IProjectTarget.

PropertyTypePurpose
environmentTypeEnvironmentTypeEnvironment classification (e.g. DEVELOPMENT, PRODUCTION)
ga4IDstringGoogle Analytics 4 measurement ID
initPageEnabledbooleanEnable the first-time initialization page
pwaEnabledbooleanEnable Progressive Web App features
preferDBSettingsbooleanPrefer AppSettings from DB over config file values
colorSchemeSupportedbooleanThe theme of the target renders both a light and a dark appearance, so "My profile" may offer the color scheme choice. Default false
// bin/project/configs/commons.jsonp
target: {
colorSchemeSupported: true
}

With colorSchemeSupported: false (the default) the Hub MyProfilePanel does not render the "Color scheme" section at all and BasePageLayoutController does not touch the Bootstrap color mode — a theme without a dark appearance keeps looking the way it is designed. Turn it on only for a theme that carries a dark variant; the choice is then stored per user account, see Extending Hub GUI.

note

The flag is read in the browser, so it has to reach the client config through target.embedFeatures. The Hub adds project.target.colorSchemeSupported to its hubFeatures group; a project that replaces that whole group has to list the key again.

sysLog​

System audit log configuration.

PropertyTypePurpose
enabledbooleanEnable database-backed audit logging
maxAgenumberDays to keep log entries (older entries auto-deleted)

puppeteer​

PDF generation and headless browser configuration.

PropertyTypePurpose
enabledbooleanEnable Puppeteer PDF generation
urlThreadsnumberNumber of concurrent browser pages
maxWaitTimenumberMaximum render wait time in milliseconds
proxy.enabledbooleanEnable proxy for browser requests
proxy.locationstringProxy server URL
chromeBuildIdstringSpecific Chrome/Chromium build to use
cacheDirstringChrome binary cache directory

When enabled, PDF initialization is awaited during the Hub's onDbPrepared startup hook. The configured Chrome build must already be present in cacheDir, or the process must be able to download it. In an isolated test image, prepopulate that cache during image construction, or set puppeteer.enabled: false when PDF output is outside the scenario. A failed browser installation rejects super.onDbPrepared() and can prevent a solution's subsequent startup hooks, including its cron registration, from running.

apiConfig​

API rate limiting configuration.

PropertyTypePurpose
maxPrintRequestsnumberMaximum concurrent print requests
maxIdsPerPrintRequestsnumberMaximum IDs per single print request

webhooks​

Webhook processing loop configuration.

PropertyTypePurpose
enabledbooleanEnable webhook processing
ticknumberProcessing interval in milliseconds
bucketSizenumberMaximum records per processing batch

See Webhooks for details.

oidishook​

Hub-to-hub synchronization configuration.

PropertyTypePurpose
enabledbooleanEnable OidisHook adapter
server.hostnamestringRemote Hub URL
server.userNamestringAuthentication username
server.tokenstringAuthentication token
bidirectionalSyncbooleanEnable two-way synchronization
strongValidationbooleanStrictly validate webhook source

authProviders​

OAuth2 provider configuration.

PropertyTypePurpose
google.enabledbooleanEnable Google OAuth2
google.authUristringGoogle authorization endpoint
google.tokenUristringGoogle token endpoint
google.scopestring[]OAuth2 scopes to request
google.projectIdstringGoogle Cloud project ID
google.clientIdstringOAuth2 client ID
google.clientSecretstringOAuth2 client secret
google.redirectUristringOAuth2 redirect URI
google.reloadUrlstringURL to redirect after authentication

Top-Level Flags​

PropertyTypePurpose
noReportbooleanDisable crash reporting (Sentry)
forceAgentsAuthorizationbooleanRequire explicit authorization for all agent connections

Deprecated​

PropertyStatusMigration
defaultUserDeprecatedUse the Hub GUI admin initialization page instead. The Loader automatically marks and deletes legacy default users on startup

See also: Configuration Overview | Commons Config | Hub Backend Overview