mirror of
https://gitlab.sectorq.eu/home/docker-compose.git
synced 2025-12-15 02:44:52 +01:00
build
This commit is contained in:
@@ -1,215 +1,256 @@
|
|||||||
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:
|
services:
|
||||||
|
|
||||||
admin:
|
redis:
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2024.06}
|
image: redis:alpine
|
||||||
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:
|
deploy:
|
||||||
|
replicas: 1
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints:
|
||||||
|
- node.role == manager
|
||||||
antispam:
|
labels:
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2024.06}
|
wud.watch: "true"
|
||||||
env_file: stack.env
|
wud.watch.digest: "true"
|
||||||
depends_on:
|
volumes:
|
||||||
- front
|
- redis_data:/data
|
||||||
- redis
|
|
||||||
- oletools
|
|
||||||
- antivirus
|
|
||||||
- resolver
|
|
||||||
dns:
|
|
||||||
- 192.168.205.254
|
|
||||||
networks:
|
networks:
|
||||||
- default
|
- 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:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.203.254
|
||||||
volumes:
|
|
||||||
- /share/docker_data/mailu3/data/fetchmail:/data
|
resolver:
|
||||||
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2024.06}
|
||||||
|
env_file: mailu.env
|
||||||
deploy:
|
deploy:
|
||||||
|
replicas: 1
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
labels:
|
||||||
constraints: [node.role == manager]
|
wud.watch: "true"
|
||||||
|
wud.watch.digest: "true"
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
ipv4_address: 192.168.203.254
|
||||||
|
|
||||||
front:
|
front:
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2024.06}
|
||||||
env_file: stack.env
|
env_file: mailu.env
|
||||||
dns:
|
deploy:
|
||||||
- 192.168.205.254
|
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:
|
networks:
|
||||||
- default
|
- default
|
||||||
- webmail
|
- webmail
|
||||||
- radicale
|
- radicale
|
||||||
ports:
|
ports:
|
||||||
- "8880:80"
|
- target: 80
|
||||||
- "8443:443"
|
published: 8880
|
||||||
- "25:25"
|
protocol: tcp
|
||||||
- "465:465"
|
mode: ingress
|
||||||
- "587:587"
|
- target: 443
|
||||||
- "110:110"
|
published: 8443
|
||||||
- "995:995"
|
protocol: tcp
|
||||||
- "143:143"
|
mode: ingress
|
||||||
- "993:993"
|
- target: 25
|
||||||
- "4190:4190"
|
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:
|
volumes:
|
||||||
- /share/docker_data/mailu3/certs:/certs
|
- certs_data:/certs
|
||||||
- /share/docker_data/mailu3/overrides/nginx:/overrides:ro
|
- nginx_overrides:/overrides:ro
|
||||||
deploy:
|
dns:
|
||||||
restart_policy:
|
- 192.168.203.254
|
||||||
condition: any
|
depends_on:
|
||||||
placement:
|
- resolver
|
||||||
constraints: [node.role == manager]
|
|
||||||
|
|
||||||
fts_attachments:
|
admin:
|
||||||
image: ${DOCKER_REGISTRY:-}apache/tika:2.9.2.1-full
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2024.06}
|
||||||
networks:
|
env_file: mailu.env
|
||||||
- fts_attachments
|
|
||||||
deploy:
|
deploy:
|
||||||
|
replicas: 1
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
|
labels:
|
||||||
|
wud.watch: "true"
|
||||||
|
wud.watch.digest: "true"
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints:
|
||||||
|
- node.role == manager
|
||||||
|
volumes:
|
||||||
|
- admin_data:/data
|
||||||
|
- admin_dkim:/dkim
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- resolver
|
||||||
|
dns:
|
||||||
|
- 192.168.203.254
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
imap:
|
imap:
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2024.06}
|
||||||
env_file: stack.env
|
env_file: mailu.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:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.203.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:
|
smtp:
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2024.06}
|
||||||
env_file: stack.env
|
env_file: mailu.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:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.203.254
|
||||||
volumes:
|
|
||||||
- /share/docker_data/mailu3/mailqueue:/queue
|
oletools:
|
||||||
- /share/docker_data/mailu3/overrides/postfix:/overrides:ro
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-2024.06}
|
||||||
|
hostname: oletools
|
||||||
deploy:
|
deploy:
|
||||||
|
replicas: 1
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
|
labels:
|
||||||
|
wud.watch: "true"
|
||||||
|
wud.watch.digest: "true"
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints:
|
||||||
|
- node.role == manager
|
||||||
webdav:
|
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-2024.06}
|
|
||||||
networks:
|
networks:
|
||||||
- radicale
|
- oletools
|
||||||
volumes:
|
depends_on:
|
||||||
- /share/docker_data/mailu3/dav:/data
|
- resolver
|
||||||
|
dns:
|
||||||
|
- 192.168.203.254
|
||||||
|
|
||||||
|
antispam:
|
||||||
|
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2024.06}
|
||||||
|
hostname: antispam
|
||||||
|
env_file: mailu.env
|
||||||
deploy:
|
deploy:
|
||||||
|
replicas: 1
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
|
labels:
|
||||||
|
wud.watch: "true"
|
||||||
|
wud.watch.digest: "true"
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
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:
|
webmail:
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-2024.06}
|
driver: overlay
|
||||||
env_file: stack.env
|
radicale:
|
||||||
networks:
|
driver: overlay
|
||||||
- webmail
|
|
||||||
volumes:
|
volumes:
|
||||||
- /share/docker_data/mailu3/webmail:/data
|
redis_data:
|
||||||
- /share/docker_data/mailu3/overrides/roundcube:/overrides:ro
|
admin_data:
|
||||||
deploy:
|
admin_dkim:
|
||||||
restart_policy:
|
mail_data:
|
||||||
condition: any
|
dovecot_overrides:
|
||||||
placement:
|
mailqueue_data:
|
||||||
constraints: [node.role == manager]
|
postfix_overrides:
|
||||||
|
filter_data:
|
||||||
|
rspamd_overrides:
|
||||||
|
certs_data:
|
||||||
|
nginx_overrides:
|
||||||
|
|||||||
Reference in New Issue
Block a user