mirror of
https://gitlab.sectorq.eu/home/docker-compose.git
synced 2025-12-14 18:34:53 +01:00
257 lines
5.4 KiB
YAML
257 lines
5.4 KiB
YAML
services:
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
labels:
|
|
wud.watch: "true"
|
|
wud.watch.digest: "true"
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- default
|
|
dns:
|
|
- 192.168.203.254
|
|
|
|
resolver:
|
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2024.06}
|
|
env_file: stack.env
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
labels:
|
|
wud.watch: "true"
|
|
wud.watch.digest: "true"
|
|
networks:
|
|
default:
|
|
ipv4_address: 192.168.203.254
|
|
|
|
front:
|
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2024.06}
|
|
env_file: stack.env
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
labels:
|
|
wud.watch: "true"
|
|
wud.watch.digest: "true"
|
|
homepage.container: mailu3-front-1
|
|
homepage.description: eMail server
|
|
homepage.group: Utilities
|
|
homepage.href: https://mail.sectorq.eu
|
|
homepage.icon: ${APPNAME}.png
|
|
homepage.name: Mailu
|
|
homepage.server: my-docker-swarm
|
|
homepage.weight: "1"
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
networks:
|
|
- default
|
|
- webmail
|
|
- radicale
|
|
ports:
|
|
- target: 80
|
|
published: 8880
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 443
|
|
published: 8443
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 25
|
|
published: 25
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 465
|
|
published: 465
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 587
|
|
published: 587
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 110
|
|
published: 110
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 995
|
|
published: 995
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 143
|
|
published: 143
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 993
|
|
published: 993
|
|
protocol: tcp
|
|
mode: ingress
|
|
- target: 4190
|
|
published: 4190
|
|
protocol: tcp
|
|
mode: ingress
|
|
volumes:
|
|
- certs_data:/certs
|
|
- nginx_overrides:/overrides:ro
|
|
dns:
|
|
- 192.168.203.254
|
|
depends_on:
|
|
- resolver
|
|
|
|
admin:
|
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2024.06}
|
|
env_file: stack.env
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
labels:
|
|
wud.watch: "true"
|
|
wud.watch.digest: "true"
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
volumes:
|
|
- admin_data:/data
|
|
- admin_dkim:/dkim
|
|
depends_on:
|
|
- redis
|
|
- resolver
|
|
dns:
|
|
- 192.168.203.254
|
|
networks:
|
|
- default
|
|
|
|
imap:
|
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2024.06}
|
|
env_file: stack.env
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
labels:
|
|
wud.watch: "true"
|
|
wud.watch.digest: "true"
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
volumes:
|
|
- mail_data:/mail
|
|
- dovecot_overrides:/overrides:ro
|
|
networks:
|
|
- default
|
|
depends_on:
|
|
- front
|
|
- resolver
|
|
dns:
|
|
- 192.168.203.254
|
|
|
|
smtp:
|
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2024.06}
|
|
env_file: stack.env
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
labels:
|
|
wud.watch: "true"
|
|
wud.watch.digest: "true"
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
volumes:
|
|
- mailqueue_data:/queue
|
|
- postfix_overrides:/overrides:ro
|
|
networks:
|
|
- default
|
|
depends_on:
|
|
- front
|
|
- resolver
|
|
dns:
|
|
- 192.168.203.254
|
|
|
|
oletools:
|
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-2024.06}
|
|
hostname: oletools
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
labels:
|
|
wud.watch: "true"
|
|
wud.watch.digest: "true"
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
networks:
|
|
- oletools
|
|
depends_on:
|
|
- resolver
|
|
dns:
|
|
- 192.168.203.254
|
|
|
|
antispam:
|
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2024.06}
|
|
hostname: antispam
|
|
env_file: stack.env
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
labels:
|
|
wud.watch: "true"
|
|
wud.watch.digest: "true"
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
volumes:
|
|
- filter_data:/var/lib/rspamd
|
|
- rspamd_overrides:/overrides:ro
|
|
networks:
|
|
- default
|
|
- oletools
|
|
depends_on:
|
|
- front
|
|
- redis
|
|
- oletools
|
|
- resolver
|
|
dns:
|
|
- 192.168.203.254
|
|
|
|
networks:
|
|
default:
|
|
driver: overlay
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 192.168.203.0/24
|
|
oletools:
|
|
driver: overlay
|
|
internal: true
|
|
webmail:
|
|
driver: overlay
|
|
radicale:
|
|
driver: overlay
|
|
|
|
volumes:
|
|
redis_data:
|
|
admin_data:
|
|
admin_dkim:
|
|
mail_data:
|
|
dovecot_overrides:
|
|
mailqueue_data:
|
|
postfix_overrides:
|
|
filter_data:
|
|
rspamd_overrides:
|
|
certs_data:
|
|
nginx_overrides:
|