# Copy to .env next to docker-compose.yml and fill in. # Required — the container refuses to start without it. Hostname used both for # the panel's TLS vhost and for Postfix's SASL realm (SASL_REALM defaults to # this) and myhostname; must also match your PTR record. Must match the # certificate your reverse proxy obtains. Bare FQDN only — no scheme or port. SELFPOST_HOSTNAME=mail.example.com # Set to true to also enable RFC 6409 submission (587/STARTTLS) alongside the # primary 465/smtps listener. SUBMISSION_ENABLE=false # Level-1 backstop rate limit (anvil) — see README "Rate limiting". RATE_LIMIT_MESSAGES_PER_IP=100 RATE_LIMIT_WINDOW_SECONDS=3600 # Days of send-log history kept before the background sweep deletes rows. SEND_LOG_RETENTION_DAYS=90 # Sliding idle timeout for the panel login session, in days. No absolute cap: # an admin who keeps coming back stays signed in indefinitely. Polling by the # monitoring screens does not count as activity, only navigation/actions do. PANEL_SESSION_IDLE_DAYS=7 # Comma-separated CIDRs (bare IPs allowed) of reverse proxies allowed to # supply X-Forwarded-For for login/setup rate-limiting. Leave unset unless # you know the exact address of your reverse proxy — trusting the wrong # source lets a client spoof its rate-limit key. Behind the default Apache # host-network setup this is typically the Docker bridge gateway, e.g. # TRUSTED_PROXY_CIDR=172.18.0.1