feat: add Mailpit SMTP relay and migrate all services
- Add Mailpit service to NET stack with web UI at mailpit.pivoine.art - Configure Mailpit to relay all emails through IONOS SMTP - Migrate all 11+ services to use Mailpit instead of direct IONOS SMTP: * SEXY: Directus API * UTIL: Joplin, Mattermost, Vaultwarden, Tandoor, Linkwarden * DEV: Gitea, n8n, Asciinema * AI: Open WebUI * NET: Netdata (via msmtp) - Centralize SMTP credentials in mailpit-relay.yaml - Simplify service configs (no auth/TLS for internal SMTP) - Enable email monitoring via Mailpit web UI with Basic Auth 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -54,11 +54,9 @@ services:
|
||||
POSTGRES_USER: ${DB_USER}
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
MAILER_ENABLED: 1
|
||||
MAILER_HOST: ${EMAIL_SMTP_HOST}
|
||||
MAILER_PORT: ${EMAIL_SMTP_PORT}
|
||||
MAILER_SECURE: 1
|
||||
MAILER_AUTH_USER: ${EMAIL_SMTP_USER}
|
||||
MAILER_AUTH_PASSWORD: ${EMAIL_SMTP_PASSWORD}
|
||||
MAILER_HOST: net_mailpit
|
||||
MAILER_PORT: 1025
|
||||
MAILER_SECURE: 0
|
||||
MAILER_NOREPLY_NAME: Joplin Server
|
||||
MAILER_NOREPLY_EMAIL: ${EMAIL_FROM}
|
||||
networks:
|
||||
@@ -97,7 +95,7 @@ services:
|
||||
BASE_URL: https://${UTIL_LINKS_TRAEFIK_HOST}
|
||||
NEXT_PUBLIC_EMAIL_PROVIDER: true
|
||||
EMAIL_FROM: ${EMAIL_FROM}
|
||||
EMAIL_SERVER: ${LINKS_EMAIL_SERVER}
|
||||
EMAIL_SERVER: smtp://net_mailpit:1025
|
||||
volumes:
|
||||
- linkwarden_data:/data/data
|
||||
depends_on:
|
||||
@@ -156,12 +154,10 @@ services:
|
||||
MM_SERVICESETTINGS_SITEURL: https://${UTIL_MATTERMOST_TRAEFIK_HOST}
|
||||
MM_SERVICESETTINGS_ENABLELOCALMODE: "true"
|
||||
# Email settings
|
||||
MM_EMAILSETTINGS_ENABLESMTPAUTH: "true"
|
||||
MM_EMAILSETTINGS_SMTPUSERNAME: ${EMAIL_SMTP_USER}
|
||||
MM_EMAILSETTINGS_SMTPPASSWORD: ${EMAIL_SMTP_PASSWORD}
|
||||
MM_EMAILSETTINGS_SMTPSERVER: ${EMAIL_SMTP_HOST}
|
||||
MM_EMAILSETTINGS_SMTPPORT: ${EMAIL_SMTP_PORT}
|
||||
MM_EMAILSETTINGS_CONNECTIONSECURITY: TLS
|
||||
MM_EMAILSETTINGS_ENABLESMTPAUTH: "false"
|
||||
MM_EMAILSETTINGS_SMTPSERVER: net_mailpit
|
||||
MM_EMAILSETTINGS_SMTPPORT: 1025
|
||||
MM_EMAILSETTINGS_CONNECTIONSECURITY: ""
|
||||
MM_EMAILSETTINGS_FEEDBACKNAME: Mattermost
|
||||
MM_EMAILSETTINGS_FEEDBACKEMAIL: ${EMAIL_FROM}
|
||||
MM_EMAILSETTINGS_REPLYTOADDRESS: ${EMAIL_FROM}
|
||||
@@ -200,13 +196,11 @@ services:
|
||||
SIGNUPS_ALLOWED: ${UTIL_VAULT_SIGNUPS_ALLOWED:-false}
|
||||
INVITATIONS_ALLOWED: ${UTIL_VAULT_INVITATIONS_ALLOWED:-true}
|
||||
SHOW_PASSWORD_HINT: ${UTIL_VAULT_SHOW_PASSWORD_HINT:-false}
|
||||
SMTP_HOST: ${EMAIL_SMTP_HOST}
|
||||
SMTP_HOST: net_mailpit
|
||||
SMTP_FROM: ${EMAIL_FROM}
|
||||
SMTP_FROM_NAME: Vaultwarden
|
||||
SMTP_SECURITY: force_tls
|
||||
SMTP_PORT: ${EMAIL_SMTP_PORT}
|
||||
SMTP_USERNAME: ${EMAIL_SMTP_USER}
|
||||
SMTP_PASSWORD: ${EMAIL_SMTP_PASSWORD}
|
||||
SMTP_SECURITY: off
|
||||
SMTP_PORT: 1025
|
||||
networks:
|
||||
- compose_network
|
||||
labels:
|
||||
@@ -248,12 +242,10 @@ services:
|
||||
REVERSE_PROXY_AUTH: ${UTIL_TANDOOR_REVERSE_PROXY_AUTH:-0}
|
||||
|
||||
# Email configuration (IONOS SMTP)
|
||||
EMAIL_HOST: ${EMAIL_SMTP_HOST}
|
||||
EMAIL_PORT: ${EMAIL_SMTP_PORT}
|
||||
EMAIL_HOST_USER: ${EMAIL_SMTP_USER}
|
||||
EMAIL_HOST_PASSWORD: ${EMAIL_SMTP_PASSWORD}
|
||||
EMAIL_USE_TLS: ${UTIL_TANDOOR_EMAIL_USE_TLS:-0}
|
||||
EMAIL_USE_SSL: ${UTIL_TANDOOR_EMAIL_USE_SSL:-1}
|
||||
EMAIL_HOST: net_mailpit
|
||||
EMAIL_PORT: 1025
|
||||
EMAIL_USE_TLS: 0
|
||||
EMAIL_USE_SSL: 0
|
||||
DEFAULT_FROM_EMAIL: ${EMAIL_FROM}
|
||||
|
||||
# Gunicorn settings
|
||||
|
||||
Reference in New Issue
Block a user