Files
docker-compose/__swarm/mailu3/mailu3-swarm.yml
2025-12-05 14:22:53 +01:00

268 lines
5.6 KiB
YAML

networks:
default:
external: true
name: mailu_default
clamav:
external: true
fts_attachments:
external: true
oletools:
external: true
radicale:
external: true
webmail:
external: true
services:
admin:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2024.06}
env_file: stack.env
networks:
- default
dns:
- 192.168.205.254
volumes:
- data:/data
- dkim:/dkim
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
antispam:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2024.06}
hostname: antispam
env_file: stack.env
dns:
- 192.168.205.254
networks:
- default
- oletools
- clamav
volumes:
- antispam_filter:/var/lib/rspamd
- antispam_overrides/rspamd:/overrides:ro
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
antivirus:
image: ${DOCKER_REGISTRY:-}clamav/clamav-debian:1.2.0-6
networks:
- clamav
volumes:
- clamav:/var/lib/clamav
healthcheck:
test: ["CMD-SHELL", "kill -0 `cat /tmp/clamd.pid` && kill -0 `cat /tmp/freshclam.pid`"]
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
fetchmail:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-2024.06}
env_file: stack.env
dns:
- 192.168.205.254
volumes:
- fetchmail:/data
networks:
- default
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
front:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2024.06}
env_file: stack.env
networks:
- default
- webmail
- radicale
ports:
- "8880:80"
- "8443:443"
- "25:25"
- "465:465"
- "587:587"
- "110:110"
- "995:995"
- "143:143"
- "993:993"
- "4190:4190"
volumes:
- front_certs:/certs
- front_overrides:/overrides:ro
dns:
- 192.168.205.254
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
labels:
wud.watch: "true"
wud.watch.digest: "true"
fts_attachments:
image: ${DOCKER_REGISTRY:-}apache/tika:2.9.2.1-full
hostname: tika
networks:
- fts_attachments
dns:
- 192.168.205.254
healthcheck:
test: ["CMD-SHELL", "wget -nv -t1 -O /dev/null http://127.0.0.1:9998/tika || exit 1"]
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
imap:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2024.06}
env_file: stack.env
dns:
- 192.168.205.254
networks:
- default
- fts_attachments
volumes:
- imap_mail:/mail
- imap_dovecot:/overrides:ro
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
oletools:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-2024.06}
hostname: oletools
networks:
- oletools
dns:
- 192.168.205.254
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
redis:
image: ${DOCKER_REGISTRY:-}redis:alpine
volumes:
- redis:/data
networks:
- default
dns:
- 192.168.205.254
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
resolver:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2024.06}
env_file: stack.env
networks:
default:
ipv4_address: 192.168.205.254
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
smtp:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2024.06}
env_file: stack.env
networks:
- default
dns:
- 192.168.205.254
volumes:
- snmp_mailqueue:/queue
- snmp_postfix:/overrides:ro
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
webdav:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-2024.06}
networks:
- radicale
volumes:
- dav:/data
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
webmail:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-2024.06}
env_file: stack.env
networks:
- webmail
volumes:
- webmail:/data
- roundcube:/overrides:ro
deploy:
restart_policy:
condition: any
labels:
wud.watch: "true"
wud.watch.digest: "true"
volumes:
data:
dkim:
antispam_filter:
antispam_overrides:
clamav:
fetchmail:
front_certs:
front_overrides:
fts_attachments:
imap_mail:
imap_dovecot:
redis:
snmp_mailqueue:
snmp_postfix:
dav:
webmail:
roundcube: