From 971b98a4cc6145571204f5a4ad794aa3d09ea71c Mon Sep 17 00:00:00 2001 From: Andy Grunwald Date: Sun, 24 May 2026 12:56:00 +0200 Subject: [PATCH] docs(wiki): document MAIL_FROM_SUBDOMAIN and NGINX_PORT env vars Both variables exist in .env.self-host.example but were missing from the user-facing env vars reference, so self-hosters had to read the example file's inline comments to discover them. - MAIL_FROM_SUBDOMAIN: added a row to the AWS SES section explaining how the prefix combines with a verified domain to construct the MAIL FROM hostname, and when to override the default. - NGINX_PORT: added a new "Advanced" section for variables that almost never need tuning, with the host-port override use-case spelled out. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../content/docs/self-hosting/environment-variables.mdx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/apps/wiki/content/docs/self-hosting/environment-variables.mdx b/apps/wiki/content/docs/self-hosting/environment-variables.mdx index 8afe7b0..eeccc95 100644 --- a/apps/wiki/content/docs/self-hosting/environment-variables.mdx +++ b/apps/wiki/content/docs/self-hosting/environment-variables.mdx @@ -36,6 +36,7 @@ Set your subdomains here. The application automatically derives all internal and | `AWS_SES_SECRET_ACCESS_KEY` | Yes | AWS secret access key for SES. | `wJalr...` | | `SES_CONFIGURATION_SET` | No | SES configuration set name used for open/click tracking. | `plunk-configuration-set` (default) | | `SES_CONFIGURATION_SET_NO_TRACKING` | No | A second SES configuration set without tracking. When set, projects can toggle email tracking on/off. If omitted, the tracking toggle is hidden. | `plunk-no-tracking-configuration-set` (default) | +| `MAIL_FROM_SUBDOMAIN` | No | Subdomain prefix used when constructing the MAIL FROM hostname for a verified domain (e.g. with default `plunk` and domain `yourdomain.com`, the MAIL FROM is `plunk.yourdomain.com`). Override when the default subdomain is already in use (e.g. by an R2/CDN custom domain), since the MAIL FROM hostname needs MX + TXT records that can't coexist with a CNAME. | `plunk` | ## Storage (Minio) @@ -130,6 +131,14 @@ Plunk bundles a self-hosted [ntfy](https://ntfy.sh) server for internal system n | `AUTO_PROJECT_DISABLE` | No | When `true`, projects are automatically suspended when bounce or complaint rate thresholds are exceeded. Set to `false` to manage project status manually. | `true` | | `EMAIL_RATE_LIMIT_PER_SECOND` | No | Override the email sending rate limit. If not set, Plunk automatically fetches the quota from your AWS SES account. | — | +## Advanced + +Variables for unusual deployments. The defaults work for the standard Docker Compose setup — only change these if you know you need to. + +| Variable | Required | Description | Default | +| ------------ | -------- | ------------------------------------------------------------------------------------------------------------------------ | ------- | +| `NGINX_PORT` | No | Host port the bundled Nginx reverse proxy binds to. Override when port 80/443 is already in use on the host (e.g. running behind another reverse proxy that forwards to a different port). | `80` | + ## Phishing Detection Plunk can use AI to detect and block phishing emails before they're sent. Requires an [OpenRouter](https://openrouter.ai) API key.