9 Commits
Author SHA1 Message Date
eSlider 6e8a9dc963 feat(mail): share oleksandra.svitelska mailbox with info@ (read-only)
Add oleksandra.svitelska@produktor.io to PRODUCTION_OWNERS so info@
sees it under Shared/ (lookup read), same class as the other production
mailboxes. Applied live via user-patches.sh (idempotent); no container
recreation needed.
2026-09-23 19:37:56 +01:00
eSlider e1208be24e chore(mail): pinned-version update check off, Gmail postscreen whitelist, docs
- compose: ENABLE_UPDATE_CHECK=0 (image intentionally pinned to DMS v15.1.0).

- postscreen: permit Google SMTP outbound ranges (Gmail retries from rotating IPs,

  '450 PASS NEW' never completes) — keeps LinkedIn/Gmail mail out of the tarpit.

- README: DNS/ops notes; user-patches: whitelist copy path.
2026-09-16 14:59:45 +01:00
eSlider d2724ec727 chore(dovecot): drop deleted wheregroup@produktor.io A1 pilot box from owner lists (#252) 2026-09-02 13:50:54 +01:00
eSlider 6cdd704aef feat(dovecot): historical-account andriy.oblivantsev@wheregroup.com for wheregroup incubator (#252) 2026-09-02 13:42:58 +01:00
eSlider a4ab96d025 feat(dovecot): incubator owner wheregroup@ + info@ delete access (#251) 2026-09-02 12:10:51 +01:00
eSlider 2bb6ed310e feat(dovecot): shared mailboxes — info@ reads all accounts (#79)
Dovecot ACL + shared namespace (shared/%%u/), acl_shared_dict in mail-state,
idempotent user-patches.sh grants info@ read-only (lookup read) on every
mailbox of ano@, andriy.oblivantsev@, postmaster@ and pre-subscribes the
shared folders so Roundcube's subscribed folder list shows them. Delivery and
passwords untouched; other accounts see no shared folders.
2026-09-01 16:02:52 +01:00
Andriy OblivantsevandeSlider 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