Releases: kristijorgji/docker-mailserver
Releases · kristijorgji/docker-mailserver
Release list
v0.1.0
Added
- Inbound MX rate limits (Postfix anvil on port 25, configurable, on by default)
- Outbound per-user/domain send rate limits (Postfix anvil + postfwd, on by default)
- Mailbox quotas with per-account and per-domain overrides (on by default, 5G default)
- Dovecot Sieve + Junk folder when Rspamd is enabled (
enable_rspamd_junk_sieve) - Postscreen + DNSBL spam protection (Tier 0) and OpenDKIM outbound signing
- Optional Rspamd, postgrey, and SnappyMail webmail (
enable_*toggles invars.yml) scripts/up.sh/scripts/down.sh— auto-wire SnappyMail whenenable_webmail: truescripts/backup/backup.shandscripts/backup/restore.shfor MySQL + maildir backupsscripts/dev-init.sh/make dev-init— clone bootstrap (git hooks, vault template, data dirs)- Markdown lint (
make lint-markdown/fix-markdown), pre-commit hooks, CIlint-markdownjob - Certbot Ansible role; pinned Ubuntu 22.04 digest + weekly drift workflow
- Pre-release Hub tags:
:edge/:sha-*on merge to main; local:dev-*viaci/push-to-docker.sh - CI: smoke, open-relay, IMAP auth, rate limits, quotas, upsert, backup/restore, Rspamd render
CHANGELOG.mdand automated GitHub Release notes onv*tag publishdocs/repository-layout.md(configs map, compose dev vs release vs webmail overlay)- Multi-arch Docker Hub images (
linux/amd64+linux/arm64) forv*,
:edge/:sha-*, and local:dev-*pushes
Changed
- Dev compose mounts
./docker-dataat/dev-docker-data; entrypoint resolves Ansible root - Release compose requires
MAILSERVER_MAILS_PATHfrom.env(no YAML default) - Idempotent MySQL provisioning via
INSERT ... ON DUPLICATE KEY UPDATEin./update.sh - README overhaul: TOC, spam/Junk, TLS modes, backup, quotas, rate limits, pre-release images
- CI badge switched to GitHub Actions workflow status API
- Hub multi-arch via shared
.github/actions/docker-hub-build-push
(override locally withPUSH_PLATFORMS=linux/amd64) - Entrypoint refuses
mysqld --initializewhen/var/lib/mysqlis non-empty
but missing the system schema (avoids wiping a broken/upgrading datadir)
Fixed
- Self-signed certificate script exit code (
gen-certificate.sh) - Let's Encrypt issuance skips when certificates already exist
Security
- Least-privilege MySQL user in
vault.example.yml(notroot) - Dovecot system (PAM) auth disabled for virtual-user-only setups
- Boot fails when default
CHANGE_ME/ weak passwords remain invault.yml - Maildir permissions tightened to
750
v0.0.5
feat(postfix): sendgrid relay, discard transports, and vault-driven provisioning
- Add sender-dependent relayhost maps and per-profile SendGrid SASL
- Add mail_virtual_transports for inbound discard (noreply blackhole)
- Tag ansible tasks for update.sh (db-provision, postfix-provision, reload)
- Run db-provision in update.sh so vault mail data syncs to MySQL
- Fix SQL statement termination in postfix-db-provision for aliases/transports
- Restore MX and mail A record screenshot markdown in Requirements
- Document @Domain default relay and per-mailbox override precedence
- Add postmap verification for multiple mailboxes on one domain
- fix(postfix): avoid trim_blocks merging smtp_tls lines in main.cf
v0.0.4
add guide on how to setup email aliases (redirects)
v0.0.3
add a script to enable change of users and domains on the fly during …
v0.0.2
add documentation on how to use a mailclient with this setup
v0.0.1
provide one installation script that sets up everything for usage
v0.0.0
provide one installation script that sets up everything for usage