Skip to content

Instantly share code, notes, and snippets.

@SeanSith
Created February 27, 2025 15:59
Show Gist options
  • Save SeanSith/dc27f0306a85fc779f03c4adcf3ee3e8 to your computer and use it in GitHub Desktop.
Save SeanSith/dc27f0306a85fc779f03c4adcf3ee3e8 to your computer and use it in GitHub Desktop.
Automatic SMARTTLS-enabled mail catching
services:
mailpit:
image: axllent/mailpit:latest
ports:
- "25:1025"
- "465:1025"
- "587:1025"
expose:
- 8025
volumes:
- mailpit-data:/data
- caddy-data:/caddy:ro
environment:
MP_DATABASE: /data/mailpit.db
MP_MAX_MESSAGES: 500
MP_MAX_AGE: 48h
MP_SMTP_TLS_CERT: /caddy/caddy/certificates/acme-v02.api.letsencrypt.org-directory/$MP_HOSTNAME/$MP_HOSTNAME.crt
MP_SMTP_TLS_KEY: /caddy/caddy/certificates/acme-v02.api.letsencrypt.org-directory/$MP_HOSTNAME/$MP_HOSTNAME.key
MP_SMTP_REQUIRE_STARTTLS: true
MP_SMTP_AUTH: "smtpuser:smtppassword"
MP_UI_AUTH: "admin:password"
labels:
caddy: $MP_HOSTNAME
caddy.reverse_proxy: "{{upstreams 8025}}"
caddy:
image: lucaslorentz/caddy-docker-proxy:latest
ports:
- "80:80"
- "443:443"
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- caddy-data:/data
volumes:
caddy-data:
mailpit-data:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment