66 lines
No EOL
2.8 KiB
YAML
66 lines
No EOL
2.8 KiB
YAML
services:
|
|
mail_stalwart:
|
|
image: 'stalwartlabs/mail-server:latest'
|
|
networks:
|
|
- coolify
|
|
ports:
|
|
- '25:25'
|
|
- '587:587'
|
|
- '465:465'
|
|
- '143:143'
|
|
- '993:993'
|
|
- '4190:4190'
|
|
- '110:110'
|
|
- '995:995'
|
|
volumes:
|
|
- '/var/lib/stalwart-mail:/opt/stalwart-mail'
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /data/coolify/certs:/data/certs:ro
|
|
labels:
|
|
- traefik.enable=true
|
|
|
|
- traefik.http.routers.mailserver.rule=Host(`mail.karmacoma.dev`) || Host(`autodiscover.mail.karmacoma.dev`) || Host(`autoconfig.mail.karmacoma.dev`) || Host(`mta-sts.mail.karmacoma.dev`) || Host(`mx.mail.karmacoma.dev`) || Host(`smtp.mail.karmacoma.dev`) || Host(`pop.mail.karmacoma.dev`) || Host(`imap.mail.karmacoma.dev`)
|
|
- traefik.http.routers.mailserver.entrypoints=http
|
|
- traefik.http.routers.mailserver.service=mailserver
|
|
- traefik.http.services.mailserver.loadbalancer.server.port=80
|
|
- traefik.http.routers.mailserver.tls.certresolver=letsencrypt
|
|
- traefik.http.routers.mailserver.tls=true
|
|
- traefik.http.routers.mailserver.tls.domains[0].main=mx.mail.karmacoma.dev
|
|
- traefik.http.routers.mailserver.tls.domains[0].sans=autodiscover.mail.karmacoma.dev,autoconfig.mail.karmacoma.dev,mta-sts.mail.karmacoma.dev,mail.karmacoma.dev,smtp.mail.karmacoma.dev,pop.mail.karmacoma.dev,imap.mail.karmacoma.dev
|
|
|
|
- traefik.tcp.routers.smtp.rule=HostSNI(`*`)
|
|
- traefik.tcp.routers.smtp.entrypoints=smtp
|
|
- traefik.tcp.routers.smtp.service=smtp
|
|
- traefik.tcp.services.smtp.loadbalancer.server.port=25
|
|
- traefik.tcp.services.smtp.loadbalancer.proxyProtocol.version=2
|
|
|
|
- traefik.tcp.routers.jmap.rule=HostSNI(`*`)
|
|
- traefik.tcp.routers.jmap.tls.passthrough=true
|
|
- traefik.tcp.routers.jmap.entrypoints=https
|
|
- traefik.tcp.routers.jmap.service=jmap
|
|
- traefik.tcp.services.jmap.loadbalancer.server.port=443
|
|
- traefik.tcp.services.jmap.loadbalancer.proxyProtocol.version=2
|
|
|
|
- traefik.tcp.routers.smtps.rule=HostSNI(`*`)
|
|
- traefik.tcp.routers.smtps.tls.passthrough=true
|
|
- traefik.tcp.routers.smtps.entrypoints=smtps
|
|
- traefik.tcp.routers.smtps.service=smtps
|
|
- traefik.tcp.services.smtps.loadbalancer.server.port=465
|
|
- traefik.tcp.services.smtps.loadbalancer.proxyProtocol.version=2
|
|
|
|
- traefik.tcp.routers.imaps.rule=HostSNI(`*`)
|
|
- traefik.tcp.routers.imaps.tls.passthrough=true
|
|
- traefik.tcp.routers.imaps.entrypoints=imaps
|
|
- traefik.tcp.routers.imaps.service=imaps
|
|
- traefik.tcp.services.imaps.loadbalancer.server.port=993
|
|
- traefik.tcp.services.imaps.loadbalancer.proxyProtocol.version=2
|
|
tty: true
|
|
stdin_open: true
|
|
restart: always
|
|
|
|
volumes:
|
|
data:
|
|
|
|
networks:
|
|
coolify:
|
|
external: true |