updated layout for webmail and added http dns letsencrypt
This commit is contained in:
+25
-5
@@ -23,11 +23,12 @@ docker compose --profile with-rspamd up -d --build
|
||||
Either way, the app itself now binds the real standard mail ports by default — 25
|
||||
(SMTP), 465 (direct-TLS SMTP), 143 (IMAP), 993 (direct-TLS IMAP) — and the admin/webmail
|
||||
UI on its usual non-privileged 5000/5001 (HTTP/HTTPS); put your own reverse proxy or a
|
||||
`80:5000`/`443:5001` port mapping in front if you want those on 80/443 too. Binding the
|
||||
low mail ports needs no extra capability here since the container runs as root. Copy
|
||||
`.env.example` to `.env` in this folder to change any host-side port — useful if
|
||||
something else on the host already owns 25/143/etc., or if you want to run both
|
||||
profiles side by side.
|
||||
`80:5000`/`443:5001` port mapping in front if you want those on 80/443 too (note port 80
|
||||
is already published here for Let's Encrypt HTTP-01, see below — pick a different host
|
||||
port for the web UI's 80 mapping if you use both). Binding the low mail ports needs no
|
||||
extra capability here since the container runs as root. Copy `.env.example` to `.env` in
|
||||
this folder to change any host-side port — useful if something else on the host already
|
||||
owns 25/143/etc., or if you want to run both profiles side by side.
|
||||
|
||||
## What happens on first boot
|
||||
|
||||
@@ -76,6 +77,25 @@ This bundle intentionally skips Redis — rspamd runs fine without it for SPF/DK
|
||||
regexp-based scoring, but Bayes learning and greylisting need it. Add a `redis` service
|
||||
to `docker-compose.yml` and point rspamd's `redis.conf` at it if you need those.
|
||||
|
||||
## Let's Encrypt HTTP-01 (no DNS provider needed)
|
||||
|
||||
If this domain's DNS isn't hosted anywhere the app can automate, enable HTTP-01 on the
|
||||
admin dashboard's Let's Encrypt page and restart the container — it runs independently
|
||||
alongside (or instead of) the DNS-01 flow above, obtaining its own separate certificate.
|
||||
Port 80 (already published by `docker-compose.yml`) stays bound for the container's
|
||||
whole lifetime once enabled, not just during an obtain — `curl` it and you should get a
|
||||
plain `200 ok`, the quickest way to confirm your port-forwarding/reverse-proxy setup
|
||||
actually reaches this container. Optionally also request the certificate for this
|
||||
container's public IP address (autodetected, or a manual override) so clients connecting
|
||||
by bare IP get a trusted cert too — note this uses Let's Encrypt's `shortlived` profile,
|
||||
so those certificates renew roughly every few days instead of every couple months
|
||||
(handled automatically).
|
||||
|
||||
Which listener actually uses which certificate — the DNS-01 cert, the HTTP-01 cert, or
|
||||
the custom/self-signed one — is chosen independently per listener (SMTP-TLS, IMAP-TLS,
|
||||
web UI) on the admin dashboard's Settings page. A common setup: HTTP-01 for
|
||||
SMTP/IMAP, DNS-01 (or a real custom cert) for the web UI.
|
||||
|
||||
## Persistence
|
||||
|
||||
| Volume | What's in it |
|
||||
|
||||
Reference in New Issue
Block a user