mirror of
https://gitlab.sectorq.eu/home/docker-compose.git
synced 2025-12-14 18:34:53 +01:00
build
This commit is contained in:
@@ -1,31 +1,37 @@
|
|||||||
networks:
|
networks:
|
||||||
clamav:
|
clamav:
|
||||||
driver: overlay
|
driver: overlay
|
||||||
|
|
||||||
default:
|
default:
|
||||||
driver: overlay
|
driver: overlay
|
||||||
ipam:
|
ipam:
|
||||||
config:
|
config:
|
||||||
- subnet: 192.168.205.0/24
|
- subnet: 192.168.205.0/24
|
||||||
driver: default
|
driver: default
|
||||||
|
|
||||||
fts_attachments:
|
fts_attachments:
|
||||||
driver: overlay
|
driver: overlay
|
||||||
internal: true
|
internal: true
|
||||||
|
|
||||||
oletools:
|
oletools:
|
||||||
driver: overlay
|
driver: overlay
|
||||||
internal: true
|
internal: true
|
||||||
|
|
||||||
radicale:
|
radicale:
|
||||||
driver: overlay
|
driver: overlay
|
||||||
|
|
||||||
webmail:
|
webmail:
|
||||||
driver: overlay
|
driver: overlay
|
||||||
|
|
||||||
services:
|
services:
|
||||||
admin:
|
admin:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
env_file: stack.env
|
env_file: stack.env
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2024.06}
|
||||||
volumes:
|
volumes:
|
||||||
- mailu3_data:/data
|
- mailu3_data:/data
|
||||||
- mailu3_dkim:/dkim
|
- mailu3_dkim:/dkim
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -33,20 +39,21 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
antispam:
|
antispam:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
env_file: stack.env
|
env_file: stack.env
|
||||||
hostname: antispam
|
hostname: antispam
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2024.06}
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
- oletools
|
- oletools
|
||||||
- clamav
|
- clamav
|
||||||
volumes:
|
volumes:
|
||||||
- filter:/var/lib/rspamd
|
- filter:/var/lib/rspamd
|
||||||
- rspamd:/overrides:ro
|
- rspamd:/overrides:ro
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -54,21 +61,20 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
antivirus:
|
antivirus:
|
||||||
healthcheck:
|
healthcheck:
|
||||||
interval: 10s
|
interval: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
start_period: 10s
|
start_period: 10s
|
||||||
test:
|
test: ["CMD-SHELL", "kill -0 `cat /tmp/clamd.pid` && kill -0 `cat /tmp/freshclam.pid`"]
|
||||||
- CMD-SHELL
|
|
||||||
- kill -0 `cat /tmp/clamd.pid` && kill -0 `cat /tmp/freshclam.pid`
|
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
image: ${DOCKER_REGISTRY:-}clamav/clamav-debian:1.2.0-6
|
image: ${DOCKER_REGISTRY:-}clamav/clamav-debian:1.2.0-6
|
||||||
networks:
|
networks:
|
||||||
- clamav
|
- clamav
|
||||||
volumes:
|
volumes:
|
||||||
- clamav:/var/lib/clamav
|
- clamav:/var/lib/clamav
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -76,14 +82,15 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
fetchmail:
|
fetchmail:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
env_file: stack.env
|
env_file: stack.env
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-2024.06}
|
||||||
volumes:
|
volumes:
|
||||||
- fetchmail:/data
|
- fetchmail:/data
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -91,10 +98,11 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
front:
|
front:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
env_file: stack.env
|
env_file: stack.env
|
||||||
logging:
|
logging:
|
||||||
driver: loki
|
driver: loki
|
||||||
@@ -102,53 +110,53 @@ services:
|
|||||||
loki-url: "http://192.168.77.101:3100/loki/api/v1/push"
|
loki-url: "http://192.168.77.101:3100/loki/api/v1/push"
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2024.06}
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
- webmail
|
- webmail
|
||||||
- radicale
|
- radicale
|
||||||
ports:
|
ports:
|
||||||
- target: 80
|
- target: 80
|
||||||
published: 8880
|
published: 8880
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 443
|
- target: 443
|
||||||
published: 8443
|
published: 8443
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 25
|
- target: 25
|
||||||
published: 25
|
published: 25
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 465
|
- target: 465
|
||||||
published: 465
|
published: 465
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 587
|
- target: 587
|
||||||
published: 587
|
published: 587
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 110
|
- target: 110
|
||||||
published: 110
|
published: 110
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 995
|
- target: 995
|
||||||
published: 995
|
published: 995
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 143
|
- target: 143
|
||||||
published: 143
|
published: 143
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 993
|
- target: 993
|
||||||
published: 993
|
published: 993
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
- target: 4190
|
- target: 4190
|
||||||
published: 4190
|
published: 4190
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: ingress
|
mode: ingress
|
||||||
volumes:
|
volumes:
|
||||||
- certs:/certs
|
- certs:/certs
|
||||||
- nginx:/overrides:ro
|
- nginx:/overrides:ro
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -164,22 +172,21 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
fts_attachments:
|
fts_attachments:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
healthcheck:
|
healthcheck:
|
||||||
interval: 10s
|
interval: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
start_period: 10s
|
start_period: 10s
|
||||||
test:
|
test: ["CMD-SHELL", "wget -nv -t1 -O /dev/null http://127.0.0.1:9998/tika || exit 1"]
|
||||||
- CMD-SHELL
|
|
||||||
- wget -nv -t1 -O /dev/null http://127.0.0.1:9998/tika || exit 1
|
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
hostname: tika
|
hostname: tika
|
||||||
image: ${DOCKER_REGISTRY:-}apache/tika:2.9.2.1-full
|
image: ${DOCKER_REGISTRY:-}apache/tika:2.9.2.1-full
|
||||||
networks:
|
networks:
|
||||||
- fts_attachments
|
- fts_attachments
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -187,18 +194,19 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
imap:
|
imap:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
env_file: stack.env
|
env_file: stack.env
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2024.06}
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
- fts_attachments
|
- fts_attachments
|
||||||
volumes:
|
volumes:
|
||||||
- mail:/mail
|
- mail:/mail
|
||||||
- dovecot:/overrides:ro
|
- dovecot:/overrides:ro
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -206,14 +214,15 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
oletools:
|
oletools:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
hostname: oletools
|
hostname: oletools
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-2024.06}
|
||||||
networks:
|
networks:
|
||||||
- oletools
|
- oletools
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -221,13 +230,14 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
image: ${DOCKER_REGISTRY:-}redis:alpine
|
image: ${DOCKER_REGISTRY:-}redis:alpine
|
||||||
volumes:
|
volumes:
|
||||||
- redis:/data
|
- redis:/data
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -235,7 +245,8 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
resolver:
|
resolver:
|
||||||
env_file: stack.env
|
env_file: stack.env
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2024.06}
|
||||||
@@ -249,15 +260,16 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
smtp:
|
smtp:
|
||||||
dns:
|
dns:
|
||||||
- 192.168.205.254
|
- 192.168.205.254
|
||||||
env_file: stack.env
|
env_file: stack.env
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2024.06}
|
||||||
volumes:
|
volumes:
|
||||||
- mailqueue:/queue
|
- mailqueue:/queue
|
||||||
- postfix:/overrides:ro
|
- postfix:/overrides:ro
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -265,13 +277,14 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
webdav:
|
webdav:
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-2024.06}
|
||||||
networks:
|
networks:
|
||||||
- radicale
|
- radicale
|
||||||
volumes:
|
volumes:
|
||||||
- webdav:/data
|
- webdav:/data
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -279,15 +292,16 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
webmail:
|
webmail:
|
||||||
env_file: stack.env
|
env_file: stack.env
|
||||||
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-2024.06}
|
image: ${DOCKER_REGISTRY:-}ghcr.io/mailu/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-2024.06}
|
||||||
networks:
|
networks:
|
||||||
- webmail
|
- webmail
|
||||||
volumes:
|
volumes:
|
||||||
- webmail_data:/data
|
- webmail_data:/data
|
||||||
- roundcube:/overrides:ro
|
- roundcube:/overrides:ro
|
||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
wud.watch: 'true'
|
wud.watch: 'true'
|
||||||
@@ -295,7 +309,7 @@ services:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints:
|
||||||
- node.role == manager
|
- node.role == manager
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
webmail_data:
|
webmail_data:
|
||||||
@@ -331,4 +345,4 @@ volumes:
|
|||||||
mail:
|
mail:
|
||||||
driver: local
|
driver: local
|
||||||
dovecot:
|
dovecot:
|
||||||
driver: local
|
driver: local
|
||||||
|
|||||||
Reference in New Issue
Block a user