Files
docker-compose/__swarm/mailu3/mailu3-swarm.yml
2025-12-01 21:32:54 +01:00

216 lines
5.1 KiB
YAML

networks:
default:
driver: overlay
clamav:
driver: overlay
fts_attachments:
driver: overlay
internal: true
oletools:
driver: overlay
internal: true
radicale:
driver: overlay
webmail:
driver: overlay
services:
admin:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2024.06}
env_file: stack.env
depends_on:
- redis
- resolver
dns:
- 192.168.205.254
volumes:
- /share/docker_data/mailu3/data:/data
- /share/docker_data/mailu3/dkim:/dkim
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
antispam:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2024.06}
env_file: stack.env
depends_on:
- front
- redis
- oletools
- antivirus
- resolver
dns:
- 192.168.205.254
networks:
- default
- oletools
- clamav
volumes:
- /share/docker_data/mailu3/filter:/var/lib/rspamd
- /share/docker_data/mailu3/overrides/rspamd:/overrides:ro
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
antivirus:
image: ${DOCKER_REGISTRY:-}clamav/clamav-debian:1.2.0-6
networks:
- clamav
volumes:
- /share/docker_data/mailu3/filter/clamav:/var/lib/clamav
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
fetchmail:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-2024.06}
env_file: stack.env
depends_on:
- admin
- smtp
- imap
- resolver
dns:
- 192.168.205.254
volumes:
- /share/docker_data/mailu3/data/fetchmail:/data
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
front:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2024.06}
env_file: stack.env
dns:
- 192.168.205.254
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:
- /share/docker_data/mailu3/certs:/certs
- /share/docker_data/mailu3/overrides/nginx:/overrides:ro
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
fts_attachments:
image: ${DOCKER_REGISTRY:-}apache/tika:2.9.2.1-full
networks:
- fts_attachments
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
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:
- /share/docker_data/mailu3/mail:/mail
- /share/docker_data/mailu3/overrides/dovecot:/overrides:ro
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
oletools:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-2024.06}
networks:
- oletools
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
redis:
image: ${DOCKER_REGISTRY:-}redis:alpine
volumes:
- /share/docker_data/mailu3/redis:/data
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
resolver:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2024.06}
env_file: stack.env
networks:
- default
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
smtp:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2024.06}
env_file: stack.env
dns:
- 192.168.205.254
volumes:
- /share/docker_data/mailu3/mailqueue:/queue
- /share/docker_data/mailu3/overrides/postfix:/overrides:ro
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
webdav:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-2024.06}
networks:
- radicale
volumes:
- /share/docker_data/mailu3/dav:/data
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]
webmail:
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-2024.06}
env_file: stack.env
networks:
- webmail
volumes:
- /share/docker_data/mailu3/webmail:/data
- /share/docker_data/mailu3/overrides/roundcube:/overrides:ro
deploy:
restart_policy:
condition: any
placement:
constraints: [node.role == manager]