Documentation
Docs Home › Configuration › Manager Configuration

Manager Configuration

Manager configuration reference

Restart. YAML changes require Manager restart unless a specific key documents otherwise. Enterprise unit supports systemctl reload (HUP); treat HUP as “request reload,” not a certified live-apply of every key.

Source authority. configs/manager.example.yml plus Manager configuration load behavior.

Secrets in Enterprise production stay in systemd credentials; keep YAML empty for database.password, auth.jwt_secret, auth.default_admin.password.

Cluster YAML (cluster.*) and updater YAML (updater.*) exist in source. They are not public products. Do not enable internal AI development configuration blocks as AI Preview setup.

Column meanings: Restart/reload = process restart unless noted. Interactions = other keys or subsystems.

server

Scroll sideways to see the full table. Use the arrow keys when focused.

KeyComponentDescriptionTypeRequiredDefaultAllowed valuesExampleSecret/sensitiveRestart/reloadEditionInteractionsSource authority
server.hostManagerAPI listen addressstringno0.0.0.0IP or 0.0.0.00.0.0.0norestartSharedwith server.api_portmanager.example.yml
server.portManagerLegacy single portintno84431–655358443norestartSharedused if api_port unsetmanager.example.yml
server.api_portManagerAPI listen portintno84431–655358443norestartSharedzwallctl defaults to :8080; pass --manager-urlmanager.example.yml
server.split_mode_enabledManagerSeparate API and web portsboolnofalsetrue/falsefalsenorestartSharedrequires web.enabled and distinct web.portmanager.example.yml
server.timeoutManagerRequest timeoutdurationno30sGo duration30snorestartSharedmanager.example.yml
server.tls.enabledManagerTLS on the API listenerboolnotrue (example)true/falsetruenorestartSharedcookie issuance needs HTTPSmanager.example.yml
server.tls.cert_fileManagerTLS certificatepathif TLS/etc/ssl/certs/manager.crtpath/etc/ssl/certs/manager.crtnorestartSharedmanager.example.yml
server.tls.key_fileManagerTLS private keypathif TLS/etc/ssl/private/manager.keypath/etc/ssl/private/manager.keyyesrestartSharedsystemd credentials preferredmanager.example.yml
server.cors.enabledManagerCORSboolnotruetrue/falsetruenorestartSharedmanager.example.yml
server.cors.allowed_originsManagerBrowser originslistproductionhttps://manager.example.comabsolute originshttps://manager.example.comnorestartSharedwildcard blocked in TLS/productionmanager.example.yml
server.cors.allow_credentialsManagerCORS credentialsboolnotruetrue/falsetruenorestartSharedcookiesmanager.example.yml
server.trusted_client_ip.enabledManagerOne-hop proxy trust for registration IPboolnofalsetrue/falsefalsenorestartSharedkeep off unless loopback-behind-edgemanager.example.yml
server.trusted_client_ip.trusted_proxy_cidrsManagerTrusted immediate peersCIDR listif enabled[]/32 or /128norestartSharedmax_hops=1manager.example.yml

database

Scroll sideways to see the full table. Use the arrow keys when focused.

KeyComponentDescriptionTypeRequiredDefaultAllowed valuesExampleSecret/sensitiveRestart/reloadEditionInteractionsSource authority
database.hostManagerPostgreSQL hoststringyeslocalhosthostname/IPlocalhostnorestartSharedmanager.example.yml
database.portManagerPostgreSQL portintyes54321–655355432norestartSharedmanager.example.yml
database.nameManagerDatabase namestringyeszwall_centralized_securityidentzwall_centralized_securitynorestartSharedmanager.example.yml
database.userManagerDatabase userstringyeszwall_useridentzwall_usernorestartSharedmanager.example.yml
database.passwordManagerDatabase passwordstringyes (via secret)empty YAMLyesrestartSharedsystemd database_passwordmanager.example.yml
database.ssl_modeManagerlibpq SSL modeenumyesrequiredisable | require | verify-ca | verify-fullrequirenorestartSharedproduction: not disablemanager.example.yml + DatabaseConfig
database.max_connectionsManagerPool maxintno25>025norestartSharedmanager.example.yml
database.max_idle_connectionsManagerPool idleintno5≥05norestartSharedmanager.example.yml

auth / agents

Scroll sideways to see the full table. Use the arrow keys when focused.

KeyComponentDescriptionTypeRequiredDefaultAllowed valuesExampleSecret/sensitiveRestart/reloadEditionInteractionsSource authority
auth.jwt_secretManagerAdmin JWT HMAC secretstringyesempty YAMLhigh entropyyesrestartSharedsystemd jwt_secretmanager.example.yml
auth.token_expiryManagerAdmin JWT TTLdurationnoexample 8hGo duration8hnorestartSharedlogin expires_atmanager.example.yml
auth.agent_token_ttlManagerAgent JWT TTLdurationno8hcomment 4h–8h8hnorestartSharedAgent refreshmanager.example.yml
auth.agent_refresh_beforeManagerRotate when remaining < thisdurationno20m20mnorestartSharedheartbeat refreshmanager.example.yml
auth.agent_expired_graceManagerHeartbeat-only gracedurationno2m2mnorestartSharedmanager.example.yml
auth.default_admin.usernameManagerFirst-install adminstringnoadminadminnofirst-installSharedlogin recreates if missingmanager.example.yml
auth.default_admin.passwordManagerFirst-install passwordstringfirst-installempty YAMLstrength-checkedyesfirst-installShareddetached after readinessmanager.example.yml
agents.auto_registerManagerOpen registrationboolnofalsetrue/falsefalsenorestartSharedkeep false; use pre-registermanager.example.yml
agents.timeoutManagerOffline after silencedurationno2m2mnorestartShareddashboard online flagmanager.example.yml

logging / web / maintenance / health / metrics

Scroll sideways to see the full table. Use the arrow keys when focused.

KeyComponentDescriptionTypeRequiredDefaultAllowed valuesExampleSecret/sensitiveRestart/reloadEditionInteractionsSource authority
logging.levelManagerLog verbositystringnoinfodebug/info/warn/errorinfonorestartSharedmanager.example.yml
logging.fileManagerLog filepathno/var/log/zcs/firewall-manager.logpath or empty stdoutnorestartSharedunit may use /var/log/zwall-managermanager.example.yml
web.enabledManagerServe consoleboolnotruetrue/falsetruenorestartSharedsplit modemanager.example.yml
web.portManagerWeb listen portintno84431–655358443norestartSharedmust differ from API in split modemanager.example.yml
web.static_dirManagerSPA filespathno/opt/zcs/webpath/opt/zcs/webnorestartShared/opt/zwall-manager vs /opt/zcsmanager.example.yml
maintenance.backup_dirManagerAPI backup helper dirpathno/var/backups/zwallpath/var/backups/zwallnon/aSharednot backup_db.shmanager.example.yml
health.readiness_timeoutManager/health/ready timeoutdurationno5s when unsetGo duration5snorestartSharedcluster checks if cluster enabledHealthConfig.ApplyDefaults
metrics.enabledManagerPrometheus scrapeboolnoexample truetrue/falsetruenorestartSharedskipped if falseMetricsConfig
metrics.pathManagerScrape pathstringno/metricspath/metricsnorestartSharedadmin JWT + RoleAuth adminMetricsConfig.ApplyDefaults

notifications

Scroll sideways to see the full table. Use the arrow keys when focused.

KeyComponentDescriptionTypeRequiredDefaultAllowed valuesExampleSecret/sensitiveRestart/reloadEditionInteractionsSource authority
notifications.email.enabledManagerSMTP notificationsboolnofalsetrue/falsefalsenorestartSharedNotificationConfig
notifications.email.smtp_hostManagerSMTP hoststringif enabledsmtp.example.comnorestartSharedEmailConfig
notifications.email.smtp_portManagerSMTP portintif enabled587norestartSharedEmailConfig
notifications.email.usernameManagerSMTP userstringif authnorestartSharedEmailConfig
notifications.email.passwordManagerSMTP passwordstringif authemptyyesrestartSharedsystemd slotEmailConfig
notifications.email.fromManagerFrom addressstringif enabledzwall@example.comnorestartSharedEmailConfig
notifications.email.recipientsManagerDefault recipientslistif enabledemailsnorestartSharedEmailConfig
notifications.webhook.enabledManagerWebhook notificationsboolnofalsetrue/falsefalsenorestartSharedWebhookConfig
notifications.webhook.urlManagerWebhook URLURLif enabledhttps URLhttps://hooks.example.com/zwallyesrestartSharedWebhookConfig
notifications.webhook.timeoutManagerHTTP timeoutdurationno10s10snorestartSharedApplyManagerDefaultsWebhookConfig

security integrations (group, not every nested threshold)

Brute-force, login-rate-limit, UDP flood, SMTP, SSH/sudo alerts, temp-to-perm, subnet escalation, and distributed-attack each have enabled + numeric thresholds. Operators should copy the example YAML block for a service rather than inventing PPS/SLA numbers. Nested failure_threshold / time_window / block_duration are ints (often seconds). Restart required. Edition SHARED unless Cloudflare/messenger (Enterprise HTTP).

Scroll sideways to see the full table. Use the arrow keys when focused.

KeyComponentDescriptionTypeRequiredDefaultAllowed valuesExampleSecret/sensitiveRestart/reloadEditionInteractionsSource authority
security.geoip.enabledManagerGeoIP blockingboolnofalsetrue/falsefalsenorestartSharedneeds databaseGeoIPConfig
security.geoip.database_typeManagerDB vendorstringnomaxmindmaxmind / db-ipmaxmindnorestartSharedGeoIPConfig
security.geoip.database_pathManagerMMDB pathpathif enablednorestartSharedGeoIPConfig
security.geoip.maxmind_account_idManagerMaxMind accountstringif auto-updatenorestartSharedGeoIPConfig
security.geoip.maxmind_license_keyManagerMaxMind licensestringif auto-updateyesrestartSharedsystemdGeoIPConfig
security.geoip.allow_on_lookup_failureManagerFail-open lookupboolnotrue/falsenorestartSharedGeoIPConfig
security.blocklists.enabledManagerExternal blocklistsboolnofalsetrue/falsefalsenorestartSharedsources[]BlocklistsConfig
security.blocklists.sourcesManagerHTTP/file sourceslistif enabled[]{name,url,enabled,format}norestartSharedBlocklistSourceConfig
security.rbl.enabledManagerDNS RBLboolnofalsetrue/falsefalsenorestartSharedsources[].zoneRBLConfig
security.cloudflare.enabledManagerCloudflare syncboolnofalsetrue/falsefalsenorestartENTERPRISEConnect API still requiredCloudFlareConfig
security.cloudflare.api_tokenManagerCF API tokenstringif enabledemptyyesrestartENTERPRISEprefer API connect + credentialsCloudFlareConfig
security.cloudflare.zone_idManagerZone IDstringif enablednorestartENTERPRISECloudFlareConfig
security.cloudflare.account_idManagerAccount IDstringnonorestartENTERPRISEoptionalCloudFlareConfig
security.modsecurity.enabledManagerModSecurity ingestboolnofalsetrue/falsefalsenorestartSharedModSecurityConfig
security.modsecurity.webhook_secretManagerWebhook HMACstringif webhookyesrestartSharedModSecurityConfig
security.messenger.enabledManagerUnblock portalboolnofalsetrue/falsefalsenorestartENTERPRISEcaptcha keysMessengerConfig
security.messenger.captcha_providerManagerCaptcha vendorstringif enabledrecaptcha | hcaptcharecaptchanorestartENTERPRISEMessengerConfig
security.messenger.recaptcha_secret_key / hcaptcha_secret_keyManagerCaptcha secretsstringif enabledyesrestartENTERPRISEsite keys may be publicMessengerConfig
security.brute_force.*ManagerPer-service BFgroupednodisabledsee YAMLnorestartSharedssh/ftp/smtp/http/pop3/imap each: enabled, failure_threshold, time_window, block_durationBruteForceConfig

Do not document security.uid_gid_filtering as V3 enablement.

ai (Enterprise Preview)

Scroll sideways to see the full table. Use the arrow keys when focused.

KeyComponentDescriptionTypeRequiredDefaultAllowed valuesExampleSecret/sensitiveRestart/reloadEditionInteractionsSource authority
ai.enabledManagerMaster switchboolnofalsetrue/falsefalsenorestartENTERPRISEforces human approvalmanager.example.yml
ai.providerManagerProvider classstringnoopenai_compatibleopenai_compatibleopenai_compatiblenorestartENTERPRISEonly supported classmanager.example.yml
ai.base_urlManagerChat-completions baseURLif enabledhttp://127.0.0.1:8000/v1URLnorestartENTERPRISEoffline loopbackmanager.example.yml
ai.require_human_approvalManagerHuman gateboolnotruemust stay true when enabledtruenorestartENTERPRISEmanager.example.yml
ai.offline_modeManagerLoopback validationboolnotruetrue/falsetruenorestartENTERPRISEprivate-network overridemanager.example.yml
ai.training_export.enabledManagerTraining exportboolnofalsemust falsefalsenorestartENTERPRISEcustomer custodyAITrainingExportConfig

Public Preview operator keys: AI Preview operator control. Do not enable internal AI development configuration blocks as Preview setup.