infra/roles
jack b616c18c58
Some checks failed
CI/CD / syntax-check (push) Successful in 1m6s
CI/CD / deploy (push) Failing after 18m22s
feat: add docker-mailserver for self-hosted outbound SMTP
Adds docker-mailserver (SMTP_ONLY mode) to the tools stack so Outline
can send magic-link emails without depending on an external SMTP provider.

Changes:
- docker-compose.yml.j2: add mailserver service + mail-internal network
  outline gets mail-internal network to reach mailserver
- env.j2: point Outline SMTP at local mailserver:587 with noreply account
- defaults/main.yml: add mailserver_image (v14)
- tasks/main.yml: create mailserver dirs, wait for postfix ready,
  idempotent account creation, DKIM key generation + DNS instructions
- inventory/group_vars/all/main.yml: add mailserver_noreply_password alias
- vault.yml: add vault_mailserver_noreply_password

After deploy, Ansible will print DKIM/SPF/DMARC DNS records to add
to Cloudflare.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 16:28:29 +07:00
..
backup fix: redesign backup archive structure + enable Outline email auth 2026-03-22 16:20:11 +07:00
base feat: extend fail2ban with Forgejo SSH and Traefik HTTP jails 2026-03-22 04:51:43 +07:00
docker feat: Cloudflare DNS-01 ACME + Docker hardening + sysctl 2026-03-22 04:06:46 +07:00
services fix: remove promtail nested /var/log/traefik volume mount 2026-03-22 15:55:39 +07:00
tools feat: add docker-mailserver for self-hosted outbound SMTP 2026-03-22 16:28:29 +07:00