# WildDuck Mail Server Environment Variables # # This file contains all potential environment variables that can be used to override # configuration settings. Remove the # to uncomment and set values as needed. # # Note: WildDuck uses wild-config which supports both WILDDUCK_ and APPCONF_ prefixes # ============================================================================= # CORE APPLICATION # ============================================================================= # Node.js environment # NODE_ENV=production # Configuration override # NODE_CONFIG_PATH=/path/to/config.toml # NODE_CONFIG_DIR=/path/to/config/dir # Thread pool size # UV_THREADPOOL_SIZE=16 # ============================================================================= # API CONFIGURATION (api.toml) # ============================================================================= # API server settings # WILDDUCK_API_ENABLED=true # WILDDUCK_API_PORT=8080 # WILDDUCK_API_HOST=127.0.0.1 # WILDDUCK_API_SECURE=false # WILDDUCK_API_LOGLEVEL=none # Access control # WILDDUCK_API_ACCESSTOKEN=somesecretvalue # WILDDUCK_API_ACCESSCONTROL_ENABLED=false # WILDDUCK_API_ACCESSCONTROL_SECRET=a secret cat # Indexer service # WILDDUCK_API_INDEXERBASEURL=http://localhost:9200 # Crypto email processing # WILDDUCK_API_CRYPTOEMAILS=true # Mobile config # WILDDUCK_API_MOBILECONFIG_IDENTIFIER=com.email.wildduck # WILDDUCK_API_MOBILECONFIG_DISPLAYNAME=WildDuck Mail # WILDDUCK_API_MOBILECONFIG_ORGANIZATION=WildDuck Mail Services # CORS # WILDDUCK_API_CORS_ORIGINS=["*"] # ============================================================================= # DATABASE CONFIGURATION (dbs.toml) # ============================================================================= # MongoDB connection # WILDDUCK_DBS_MONGO=mongodb://127.0.0.1:27017/wildduck # WILDDUCK_DBS_SENDER=zone-mta # Redis connection # WILDDUCK_DBS_REDIS_HOST=127.0.0.1 # WILDDUCK_DBS_REDIS_PORT=6379 # WILDDUCK_DBS_REDIS_DB=3 # GridFS # WILDDUCK_DBS_GRIDFS_BUCKET=wildduck # WILDDUCK_DBS_GRIDFS_DECODEBASE64=false # ============================================================================= # IMAP CONFIGURATION (imap.toml) # ============================================================================= # IMAP server settings # WILDDUCK_IMAP_ENABLED=true # WILDDUCK_IMAP_PORT=143 # WILDDUCK_IMAP_HOST=0.0.0.0 # WILDDUCK_IMAP_SECURE=false # WILDDUCK_IMAP_DISABLESTARTTLS=false # WILDDUCK_IMAP_IGNORETRANSPORTDOMAIN=false # Connection limits # WILDDUCK_IMAP_MAXCONNECTIONS=15 # TLS settings # WILDDUCK_IMAP_TLS_KEY=/path/to/server/key.pem # WILDDUCK_IMAP_TLS_CERT=/path/to/server/cert.pem # ============================================================================= # POP3 CONFIGURATION (pop3.toml) # ============================================================================= # POP3 server settings # WILDDUCK_POP3_ENABLED=true # WILDDUCK_POP3_PORT=110 # WILDDUCK_POP3_HOST=0.0.0.0 # WILDDUCK_POP3_SECURE=false # WILDDUCK_POP3_DISABLESTARTTLS=false # Connection limits # WILDDUCK_POP3_MAXCONNECTIONS=15 # ============================================================================= # LMTP CONFIGURATION (lmtp.toml) # ============================================================================= # LMTP server settings # WILDDUCK_LMTP_ENABLED=true # WILDDUCK_LMTP_PORT=2424 # WILDDUCK_LMTP_HOST=0.0.0.0 # WILDDUCK_LMTP_MAXCONNECTIONS=15 # ============================================================================= # SMTP SENDER CONFIGURATION (sender.toml) # ============================================================================= # SMTP sending # WILDDUCK_SENDER_ENABLED=true # WILDDUCK_SENDER_HOSTNAME=localhost # WILDDUCK_SENDER_SECURE=false # WILDDUCK_SENDER_PORT=2587 # ============================================================================= # TLS CERTIFICATE CONFIGURATION (tls.toml) # ============================================================================= # TLS certificates # WILDDUCK_TLS_KEY=/path/to/server/key.pem # WILDDUCK_TLS_CERT=/path/to/server/cert.pem # ============================================================================= # ACME/LET'S ENCRYPT CONFIGURATION (acme.toml) # ============================================================================= # ACME settings # WILDDUCK_ACME_ENABLED=false # WILDDUCK_ACME_PORT=80 # WILDDUCK_ACME_REDIRECT=https://wildduck.email # WILDDUCK_ACME_KEY=production # WILDDUCK_ACME_DIRECTORYURL=https://acme-v02.api.letsencrypt.org/directory # WILDDUCK_ACME_EMAIL=domainadmin@example.com # WILDDUCK_ACME_KEYBITS=2048 # ============================================================================= # DKIM CONFIGURATION (dkim.toml) # ============================================================================= # DKIM signing # WILDDUCK_DKIM_ENABLED=false # WILDDUCK_DKIM_KEYBITS=2048 # WILDDUCK_DKIM_HASHALGO=sha256 # ============================================================================= # ATTACHMENT STORAGE (attachments.toml) # ============================================================================= # Attachment settings # WILDDUCK_ATTACHMENTS_TYPE=gridfs # WILDDUCK_ATTACHMENTS_BUCKET=wildduck # WILDDUCK_ATTACHMENTS_DECODEBASE64=false # File size limits # WILDDUCK_ATTACHMENTS_MAXMB=25 # WILDDUCK_ATTACHMENTS_MAXUPLOADMB=25 # WILDDUCK_ATTACHMENTS_MAXDOWNLOADMB=25 # ============================================================================= # LOGGING CONFIGURATION # ============================================================================= # Log settings # WILDDUCK_LOG_LEVEL=silly # WILDDUCK_LOG_SKIPFETCHLOG=false # Graylog integration # WILDDUCK_LOG_GELF_ENABLED=false # WILDDUCK_LOG_GELF_HOSTNAME=false # WILDDUCK_LOG_GELF_COMPONENT=wildduck # WILDDUCK_LOG_GELF_GRAYLOGPORT=12201 # WILDDUCK_LOG_GELF_GRAYLOGHOSTNAME=127.0.0.1 # ============================================================================= # PLUGINS CONFIGURATION (plugins.toml) # ============================================================================= # Plugin system # WILDDUCK_PLUGINS_PLUGINSPATH=/path/to/plugins # WILDDUCK_PLUGINS_EXAMPLE_ENABLED=false # WILDDUCK_PLUGINS_EXAMPLE_PATH=$WD/plugins/example.js # ============================================================================= # RSPAMD INTEGRATION # ============================================================================= # Rspamd spam filtering # WILDDUCK_RSPAMD_ENABLED=false # WILDDUCK_RSPAMD_URL=http://maildev.zone.wtf:11333/check # WILDDUCK_RSPAMD_MAXSIZE=5242880 # WILDDUCK_RSPAMD_DROPSPAM=false # WILDDUCK_RSPAMD_REWRITESUBJECT=false # ============================================================================= # WEBAUTHN 2FA CONFIGURATION # ============================================================================= # WebAuthn settings # WILDDUCK_WEBAUTHN_RPID=example.com # WILDDUCK_WEBAUTHN_RPNAME=WildDuck Email Server # WILDDUCK_WEBAUTHN_CHALLENGESIZE=64 # WILDDUCK_WEBAUTHN_ATTESTATION=none # WILDDUCK_WEBAUTHN_AUTHENTICATORUSERVERIFICATION=discouraged # ============================================================================= # ELASTICSEARCH INTEGRATION # ============================================================================= # Elasticsearch # WILDDUCK_ELASTICSEARCH_ENABLED=false # WILDDUCK_ELASTICSEARCH_URL=http://127.0.0.1:9200 # WILDDUCK_ELASTICSEARCH_USER=elastic # WILDDUCK_ELASTICSEARCH_PASS=supersecret # ============================================================================= # APPLICATION SPECIFIC # ============================================================================= # Development/debugging # DEBUG_TEST_QUERY=true # GENERATE_API_DOCS=true # REGENERATE_API_DOCS=true # NODE_CONFIG_ONLY=true # Testing # NODE_ENV=test # ============================================================================= # ALTERNATIVE APPCONF_ PREFIX FORMAT # ============================================================================= # You can also use APPCONF_ prefix instead of WILDDUCK_: # APPCONF_api_port=8080 # APPCONF_dbs_mongo=mongodb://localhost:27017/wildduck # APPCONF_imap_enabled=true # etc.