services: stalwart: image: 'stalwartlabs/stalwart:v0.16' restart: unless-stopped profiles: - mail environment: STALWART_PUBLIC_URL: '${MAIL_PUBLIC_URL:-https://mail.moon-well.online}' ports: - '${MAIL_BIND_IP:-0.0.0.0}:25:25' - '${MAIL_BIND_IP:-0.0.0.0}:465:465' - '${MAIL_BIND_IP:-0.0.0.0}:587:587' - '${MAIL_BIND_IP:-0.0.0.0}:993:993' # Initial setup UI. Keep it on loopback and use an SSH tunnel. - '127.0.0.1:${MAIL_SETUP_PORT:-8081}:8080' volumes: - 'stalwart-config:/etc/stalwart' - 'stalwart-data:/var/lib/stalwart' - '${MAIL_TLS_DIR:-/etc/moonwell-mail/tls}:/run/stalwart-tls:ro' networks: default: aliases: - '${MAIL_HOSTNAME:-mail.moon-well.online}' volumes: stalwart-config: driver: local stalwart-data: driver: local