Skip to content

Configuration

All settings are environment variables. With Docker Compose, set them in .env; the bundled compose file substitutes ${VAR} (with defaults) into the container. Only CSRF_SECRET is required: the app refuses to start in production without it.

VariableDescription
CSRF_SECRETRandom hex secret shared across workers. Generate with openssl rand -hex 32 (or python -c "import secrets; print(secrets.token_hex(32))").
VariableDescriptionDefault
LOCAL_LOG_DIRDirectory to search for local log files/var/log
MAIL_LOG_BASENAMEBase filename to glob (set maillog on RHEL/CentOS)mail.log
LOG_TIMEZONEIANA timezone for display, e.g. America/New_Yorkuses log offset

Log discovery globs <LOCAL_LOG_DIR>/<MAIL_LOG_BASENAME>* and handles any logrotate scheme automatically: numeric (mail.log.1, mail.log.2.gz), dateext (mail.log-20260611), and the plain compressed active log (mail.log.gz).

VariableDescriptionDefault
HOST_MOUNTED_REMOTESSet true when the host manages SSHFS mountsfalse
REMOTE_MOUNTBase directory for remote log mounts/mnt/remote_logs
REMOTE_SERVERSComma-separated remote server hostnamesmail-server-02

See Remote logs (SSHFS).

VariableDescriptionDefault
COMPANY_NAMEBranding name shown in the headerPostfix Insights
SMTP_HOST / SMTP_PORTSMTP server for emailed reportslocalhost / 25
FROM_ADDRESS / FROM_NAMESender for emailed reportsdo-not-reply@example.com
ALLOWED_EMAIL_DOMAINSDomains allowed to receive reports; unset = anyunset
VariableDescriptionDefault
MAX_TOTAL_RESULTSStop search after this many entries1000
SEARCH_TIMEOUTOverall search timeout (seconds)300
MAX_PROCESS_MEMORY_MBAbort search when process RSS exceeds this (MB)512
HOST_PORTHost port mapped to container 80808080