eSlider
37bd8a7e45
fix(mail): pin DMS image to v15.1.0 (dovecot 2.3) to match config (gator #101 )
2026-09-06 02:43:32 +01:00
eSlider
c729e026b2
feat(mail): raise message size cap to 200M for archive import (gator #101 )
2026-09-06 02:04:08 +01:00
Andriy Oblivantsev and eSlider
b0dd75b0ff
fix(webmail): persist Roundcube sqlite in volume (/var/roundcube/db)
2026-09-01 16:33:40 +01:00
Andriy Oblivantsev and eSlider
c9bc594031
chore(mail): remove mail-admin (superseded by Dovecot shared folders) ( #76 )
2026-09-01 15:35:07 +01:00
eSlider
5a46ba4b33
feat(mail-admin): read-only account view for mail.produktor.io ( #74 )
...
- admin/: Go stdlib-only HTTP viewer, lists accounts from
config/postfix-accounts.cf with per-mailbox message counts (INBOX and
total, same numbers doveadm reports) and storage; quota from
dovecot-quotas.cf; Basic Auth from .env; offline tests vs fixtures
(go test -race ./...)
- compose: mail-admin service, build admin/Dockerfile, publishes
127.0.0.1:19945 / 172.17.0.1:19945; config and mail-data mounted :ro,
no docker socket
- NPM proxy host 66: location /admin/ -> 172.17.0.1:19945
- README: account admin section
2026-09-01 15:07:55 +01:00
eSlider
e00c6950ed
feat(webmail): add Roundcube web UI for mail.produktor.io ( #74 )
...
- webmail service (roundcube/roundcubemail) in compose: IMAP/SMTP
STARTTLS against the DMS container via mail.produktor.io FQDN
(container alias fails TLS peer-name verification)
- NPM proxy host 66 -> 172.17.0.1:19944, port 19944 published on
127.0.0.1 + 172.17.0.1
- ROUNDCUBEMAIL_DES_KEY from .env (required)
- README: Web UI section, account list, client settings
2026-09-01 14:21:36 +01:00
eSlider
7d874c5117
TLS: letsencrypt DNS-01 via Dynadot hook; fail2ban ignoreip guard ( #114 )
...
- scripts/dynadot-dns.sh: DNS-01 hook (snapshot -> append TXT -> restore);
set_dns2 wants lowercase record types, ResponseCode checks on deploy/clean
- compose: SSL_TYPE=letsencrypt, mount tls/letsencrypt/<domain> ->
/etc/letsencrypt/live/<domain>; drop-in jail.d/ignoreip.local so the
postfix jail can't ban the docker bridge gateway (host self-DoS)
- cert issued for mail.produktor.io (Let's Encrypt, ECDSA); renewal via
acme.sh cron + reloadcmd (postfix/dovecot reload)
2026-08-22 22:46:24 +01:00
Andriy Oblivantsev
f5fb85be95
docker-mailserver stack for produktor.io ( #77 )
2026-08-22 12:45:50 +01:00