Add docker-compose.yml
Signed-off-by: karmacoma <karmacoma@karmacoma.dev>
This commit is contained in:
parent
eca98cd1b9
commit
d752a9e8b0
1 changed files with 66 additions and 0 deletions
66
docker-compose.yml
Normal file
66
docker-compose.yml
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
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
|
||||
Loading…
Reference in a new issue