108 lines
No EOL
4 KiB
Text
108 lines
No EOL
4 KiB
Text
|
|
|
|
[Unit]
|
|
Description=Stalwart Mail
|
|
Wants=network-online.target
|
|
Wants=traefik.service
|
|
After=network-online.target
|
|
|
|
[Container]
|
|
ContainerName=stalwart-mail
|
|
Image=docker.io/stalwartlabs/mail-server:latest
|
|
Entrypoint=["/usr/local/bin/stalwart-mail", "--config", "/etc/stalwart/config.toml"]
|
|
Volume=/etc/localtime:/etc/localtime:ro
|
|
Volume=traefik-certs.volume:/data/certs:ro
|
|
Volume=/var/opt/stalwart-mail:/opt/stalwart-mail:z,U
|
|
Volume=/etc/stalwart:/etc/stalwart:ro
|
|
AutoUpdate=registry
|
|
Network=web.network
|
|
|
|
# allow many file descriptors for rocksdb
|
|
Ulimit=nofile=1048567:1048567
|
|
|
|
Label="traefik.enable=true"
|
|
Label="traefik.http.routers.stalwart-mail.rule=(Host(`mail.ellis.link`) || Host(`autodiscover.ellis.link`) || Host(`autoconfig.ellis.link`) || Host(`mta-sts.ellis.link`))"
|
|
Label="traefik.http.services.stalwart-mail.loadbalancer.server.port=8080"
|
|
|
|
Label="traefik.http.routers.stalwart-mail.service=stalwart-mail"
|
|
Label="traefik.http.routers.stalwart-mail.entrypoints=https"
|
|
|
|
Label="traefik.http.routers.stalwart-mail.middlewares=default@file"
|
|
|
|
Label="homepage.group=Public"
|
|
Label="homepage.name=Stalwart Mail"
|
|
Label="homepage.href=https://mail.ellis.link/"
|
|
|
|
# Label="homepage.siteMonitor="
|
|
Label="homepage.description=AIO mail server"
|
|
|
|
|
|
|
|
Label="traefik.tcp.routers.smtp.rule=HostSNI(`*`)"
|
|
Label="traefik.tcp.routers.smtp.entrypoints=smtp"
|
|
Label="traefik.tcp.routers.smtp.service=smtp"
|
|
Label="traefik.tcp.services.smtp.loadbalancer.server.port=25"
|
|
Label="traefik.tcp.services.smtp.loadbalancer.proxyProtocol.version=2"
|
|
|
|
Label="traefik.tcp.routers.pop.rule=HostSNI(`*`)"
|
|
Label="traefik.tcp.routers.pop.entrypoints=pop"
|
|
Label="traefik.tcp.routers.pop.service=pop"
|
|
Label="traefik.tcp.services.pop.loadbalancer.server.port=110"
|
|
Label="traefik.tcp.services.pop.loadbalancer.proxyProtocol.version=2"
|
|
|
|
Label="traefik.tcp.routers.managesieve.rule=HostSNI(`*`)"
|
|
Label="traefik.tcp.routers.managesieve.tls.passthrough=true"
|
|
Label="traefik.tcp.routers.managesieve.entrypoints=managesieve"
|
|
Label="traefik.tcp.routers.managesieve.service=managesieve"
|
|
Label="traefik.tcp.services.managesieve.loadbalancer.server.port=4190"
|
|
Label="traefik.tcp.services.managesieve.loadbalancer.proxyProtocol.version=2"
|
|
|
|
Label="traefik.tcp.routers.jmap.rule=HostSNI(`*`)"
|
|
Label="traefik.tcp.routers.jmap.tls.passthrough=true"
|
|
Label="traefik.tcp.routers.jmap.entrypoints=https"
|
|
Label="traefik.tcp.routers.jmap.service=jmap"
|
|
Label="traefik.tcp.services.jmap.loadbalancer.server.port=443"
|
|
Label="traefik.tcp.services.jmap.loadbalancer.proxyProtocol.version=2"
|
|
|
|
Label="traefik.tcp.routers.smtpstarttls.rule=HostSNI(`*`)"
|
|
Label="traefik.tcp.routers.smtpstarttls.entrypoints=smtpstarttls"
|
|
Label="traefik.tcp.routers.smtpstarttls.service=smtpstarttls"
|
|
Label="traefik.tcp.services.smtpstarttls.loadbalancer.server.port=587"
|
|
Label="traefik.tcp.services.smtpstarttls.loadbalancer.proxyProtocol.version=2"
|
|
|
|
Label="traefik.tcp.routers.smtps.rule=HostSNI(`*`)"
|
|
Label="traefik.tcp.routers.smtps.tls.passthrough=true"
|
|
Label="traefik.tcp.routers.smtps.entrypoints=smtps"
|
|
Label="traefik.tcp.routers.smtps.service=smtps"
|
|
Label="traefik.tcp.services.smtps.loadbalancer.server.port=465"
|
|
Label="traefik.tcp.services.smtps.loadbalancer.proxyProtocol.version=2"
|
|
|
|
Label="traefik.tcp.routers.imaps.rule=HostSNI(`*`)"
|
|
Label="traefik.tcp.routers.imaps.tls.passthrough=true"
|
|
Label="traefik.tcp.routers.imaps.entrypoints=imaps"
|
|
Label="traefik.tcp.routers.imaps.service=imaps"
|
|
Label="traefik.tcp.services.imaps.loadbalancer.server.port=993"
|
|
Label="traefik.tcp.services.imaps.loadbalancer.proxyProtocol.version=2"
|
|
|
|
Label="traefik.tcp.routers.pops.rule=HostSNI(`*`)"
|
|
Label="traefik.tcp.routers.pops.tls.passthrough=true"
|
|
Label="traefik.tcp.routers.pops.entrypoints=pops"
|
|
Label="traefik.tcp.routers.pops.service=pops"
|
|
Label="traefik.tcp.services.pops.loadbalancer.server.port=995"
|
|
Label="traefik.tcp.services.pops.loadbalancer.proxyProtocol.version=2"
|
|
|
|
StopTimeout=100
|
|
|
|
[Service]
|
|
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
|
|
TimeoutStopSec=2m
|
|
TimeoutStartSec=2m
|
|
|
|
# StartLimitInterval=1m
|
|
StartLimitBurst=5
|
|
|
|
[Install]
|
|
WantedBy=default.target |