infra/ansible/MAILCOW_SETUP.md
2025-09-18 16:08:26 -05:00

1.8 KiB

Mailcow Setup Instructions

Current Status

  1. DNS Records Applied

    • A records: mail.w5isp.com, mail.mcintire.me → 204.110.191.216
    • Autodiscover/Autoconfig records for both domains
    • MX record for w5isp.com → mail.w5isp.com
    • SPF record for w5isp.com: v=spf1 mx a ip4:204.110.191.216 ~all
    • DMARC record for w5isp.com with quarantine policy
    • DKIM placeholder (needs actual key from Mailcow)
  2. Mailcow Deployed

    • Running on sync.w5isp.com with Docker Compose
    • All containers running successfully
    • Web interface accessible via HTTPS (Mailcow includes nginx)
    • No additional reverse proxy needed - Mailcow's nginx handles SSL

Next Steps

1. Access Mailcow Web UI

Access the web interface at: https://mail.w5isp.com Default admin login: admin / moohoo (change immediately!)

3. Configure Domains in Mailcow

  1. Log into Mailcow admin panel
  2. Go to Configuration → Domains
  3. Add domain: w5isp.com
  4. Add domain: mcintire.me (for receiving only, MX still points to ProtonMail)

4. Get DKIM Key and Update DNS

  1. In Mailcow: Configuration → Domains → w5isp.com → DKIM
  2. Copy the public key
  3. Update the DKIM record in terraform/dns_w5isp.tf
  4. Apply with tofu apply

5. Create Mailboxes

  1. Go to Mailboxes → Add mailbox
  2. Create postmaster@w5isp.com (required for DMARC reports)
  3. Create any other mailboxes needed

6. Test Mail Delivery

  1. Send test email to/from w5isp.com addresses
  2. Check mail logs in Mailcow UI
  3. Verify DMARC/SPF/DKIM with mail-tester.com

Important Notes

  • mcintire.me remains with ProtonMail (MX records unchanged)
  • Only w5isp.com is fully migrated to Mailcow
  • Firewall ports 25, 587, 465, 143, 993, 110, 995 are opened by the role
  • Mailcow data is stored in /opt/mailcow-dockerized
  • The mail server IP is 204.110.191.216 (sync.w5isp.com)