69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
services:
|
|
mail:
|
|
image: mailserver/docker-mailserver:latest
|
|
env_file: /var/data/docker-mailserver/docker-mailserver.env
|
|
volumes:
|
|
# - /var/data/docker-mailserver/maildata:/var/mail
|
|
# - /var/data/docker-mailserver/mailstate:/var/mail-state
|
|
# - /var/data/docker-mailserver/config:/tmp/docker-mailserver
|
|
- /var/data/config/acme.json:/etc/letsencrypt/acme.json:ro
|
|
ports:
|
|
- target: 25
|
|
published: 25
|
|
protocol: tcp
|
|
mode: host
|
|
- target: 587
|
|
published: 587
|
|
protocol: tcp
|
|
mode: host
|
|
- target: 993
|
|
published: 993
|
|
protocol: tcp
|
|
mode: host
|
|
- target: 995
|
|
published: 995
|
|
protocol: tcp
|
|
mode: host
|
|
networks:
|
|
- internal
|
|
|
|
whoami:
|
|
image: docker.io/traefik/whoami:latest
|
|
networks:
|
|
- internal
|
|
- traefik-public
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik-public
|
|
- traefik.constraint-label=traefik-public
|
|
- traefik.http.routers.mailwhoami.entrypoints=https
|
|
- traefik.http.routers.mailwhoami.rule=Host(`mail.${DOMAIN}`)
|
|
- traefik.http.routers.mailwhoami.tls.certresolver=le
|
|
- traefik.http.services.mailwhoami.loadbalancer.server.port=80
|
|
|
|
# rainloop:
|
|
# image: nerzhul/rainloop-arm64
|
|
# volumes:
|
|
# - /var/data/docker-mailserver/rainloop:/rainloop/data
|
|
# networks:
|
|
# - internal
|
|
# - traefik-public
|
|
# deploy:
|
|
# labels:
|
|
# - traefik.enable=true
|
|
# - traefik.docker.network=traefik-public
|
|
# - traefik.constraint-label=traefik-public
|
|
# - traefik.http.routers.rainloop.entrypoints=https
|
|
# - traefik.http.routers.rainloop.rule=Host(`webmail.${DOMAIN}`)
|
|
# - traefik.http.routers.rainloop.tls.certresolver=le
|
|
# - traefik.http.services.rainloop.loadbalancer.server.port=8888
|
|
|
|
networks:
|
|
traefik-public:
|
|
external: true
|
|
internal:
|
|
driver: overlay
|
|
ipam:
|
|
config:
|
|
- subnet: 172.16.2.0/24 |