179 lines
5.2 KiB
Plaintext
Raw Normal View History

2020-12-27 19:41:35 +01:00
services:
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/services/redis.yml.j2' %}
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
2022-01-29 19:21:46 +01:00
2020-12-27 19:41:35 +01:00
# Core services
resolver:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/unbound:{{applications.mailu.version}}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
ipv4_address: {{networks.local.mailu.dns}}
2020-12-27 19:41:35 +01:00
front:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/nginx:{{applications.mailu.version}}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2020-12-27 19:41:35 +01:00
ports:
2020-12-27 23:14:11 +01:00
- "127.0.0.1:{{ http_port }}:80"
- "{{networks.internet.ip4}}:25:25"
- "{{networks.internet.ip4}}:465:465"
- "{{networks.internet.ip4}}:587:587"
- "{{networks.internet.ip4}}:110:110"
- "{{networks.internet.ip4}}:995:995"
- "{{networks.internet.ip4}}:143:143"
- "{{networks.internet.ip4}}:993:993"
- "{{networks.internet.ip4}}:4190:4190"
2020-12-27 19:41:35 +01:00
volumes:
- "{{docker_compose.directories.volumes}}overrides/nginx:/overrides:ro"
2025-01-21 18:18:18 +01:00
- "{{cert_mount_directory}}:/certs:ro"
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/depends-on-also-database.yml.j2' %}
resolver:
condition: service_started
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
webmail:
radicale:
dns:
- {{networks.local.mailu.dns}}
2020-12-27 19:41:35 +01:00
admin:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/admin:{{applications.mailu.version}}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2020-12-27 19:41:35 +01:00
volumes:
2020-12-28 20:54:44 +01:00
- "admin_data:/data"
- "dkim:/dkim"
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
resolver:
2024-01-04 11:36:55 +01:00
condition: service_started
front:
2024-01-04 11:36:55 +01:00
condition: service_started
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
2020-12-27 19:41:35 +01:00
imap:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/dovecot:{{applications.mailu.version}}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2020-12-27 19:41:35 +01:00
volumes:
2020-12-28 20:54:44 +01:00
- "dovecot_mail:/mail"
- "{{docker_compose.directories.volumes}}overrides:/overrides:ro"
2020-12-27 19:41:35 +01:00
depends_on:
- front
- resolver
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
2021-08-22 20:42:03 +02:00
2020-12-27 19:41:35 +01:00
smtp:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/postfix:{{applications.mailu.version}}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2020-12-27 19:41:35 +01:00
volumes:
- "{{docker_compose.directories.volumes}}overrides:/overrides:ro"
- "smtp_queue:/queue"
2020-12-27 19:41:35 +01:00
depends_on:
- front
- resolver
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
2020-12-27 19:41:35 +01:00
2023-04-15 19:48:46 +02:00
oletools:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/oletools:{{applications.mailu.version}}
2023-04-15 19:48:46 +02:00
hostname: oletools
restart: {{docker_restart_policy}}
depends_on:
- resolver
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
noinet:
2023-04-15 19:48:46 +02:00
2020-12-27 19:41:35 +01:00
antispam:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/rspamd:{{applications.mailu.version}}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2020-12-27 19:41:35 +01:00
volumes:
2020-12-28 20:54:44 +01:00
- "filter:/var/lib/rspamd"
- "dkim:/dkim"
- "{{docker_compose.directories.volumes}}overrides/rspamd:/overrides:ro"
2020-12-27 19:41:35 +01:00
depends_on:
- front
2023-04-15 13:24:21 +02:00
- redis
- antivirus
- resolver
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
noinet:
2020-12-27 19:41:35 +01:00
# Optional services
antivirus:
2024-12-17 15:18:27 +01:00
image: clamav/clamav-debian:latest
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2020-12-27 19:41:35 +01:00
volumes:
2020-12-28 20:54:44 +01:00
- "filter:/data"
depends_on:
- resolver
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
2020-12-27 19:41:35 +01:00
webdav:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/radicale:{{applications.mailu.version}}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2020-12-27 19:41:35 +01:00
volumes:
2020-12-28 20:54:44 +01:00
- "webdav_data:/data"
depends_on:
- resolver
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
2024-01-04 09:47:14 +01:00
radicale:
2020-12-27 19:41:35 +01:00
fetchmail:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/fetchmail:{{applications.mailu.version}}
2023-04-15 19:48:46 +02:00
volumes:
- "admin_data:/data"
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2023-04-15 19:48:46 +02:00
depends_on:
- admin
- smtp
- imap
- resolver
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
2020-12-27 19:41:35 +01:00
webmail:
2025-02-06 15:02:18 +01:00
image: {{docker_source}}/webmail:{{applications.mailu.version}}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
2020-12-27 19:41:35 +01:00
volumes:
2020-12-28 20:54:44 +01:00
- "webmail_data:/data"
- "{{docker_compose.directories.volumes}}overrides:/overrides:ro"
2020-12-27 19:41:35 +01:00
depends_on:
- imap
2023-04-15 19:48:46 +02:00
- front
- resolver
dns:
- {{networks.local.mailu.dns}}
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/container/networks.yml.j2' %}
webmail:
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/compose/volumes.yml.j2' %}
smtp_queue:
2020-12-28 20:54:44 +01:00
admin_data:
webdav_data:
webmail_data:
filter:
dkim:
dovecot_mail:
2023-12-26 16:40:19 +01:00
redis:
2024-01-19 15:12:18 +01:00
{% include 'templates/docker/compose/networks.yml.j2' %}
radicale:
driver: bridge
webmail:
driver: bridge
noinet:
driver: bridge
internal: true