mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
Stalwart mail
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
|
||||
|
||||
[Unit]
|
||||
Description=Stalwart Mail
|
||||
Wants=network-online.target
|
||||
Wants=traefik.service
|
||||
After=network-online.target
|
||||
Documentation=https://conduwuit.puppyirl.gay/
|
||||
|
||||
[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
|
||||
Reference in New Issue
Block a user