2020-12-27 19:41:35 +01:00
|
|
|
version: '2.2'
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-service-redis.yml.j2' %}
|
2024-01-02 21:13:34 +01:00
|
|
|
|
|
|
|
{% include 'templates/docker-{{ database_type }}-service.yml.j2' %}
|
2022-01-29 19:21:46 +01:00
|
|
|
|
2020-12-27 19:41:35 +01:00
|
|
|
# Core services
|
2023-05-23 00:01:22 +02:00
|
|
|
resolver:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/unbound:{{version_mailu}}
|
2023-05-23 00:01:22 +02:00
|
|
|
env_file: mailu.env
|
|
|
|
restart: always
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipv4_address: 192.168.203.254
|
2024-01-02 21:13:34 +01:00
|
|
|
{{docker_compose_project_name}}_network:
|
|
|
|
{% if enable_central_database %}
|
|
|
|
central_{{ database_type }}_network:
|
|
|
|
{% endif %}
|
2023-05-23 00:01:22 +02:00
|
|
|
logging:
|
|
|
|
driver: journald
|
|
|
|
|
2020-12-27 19:41:35 +01:00
|
|
|
front:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/nginx:{{version_mailu}}
|
2020-12-27 19:41:35 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
logging:
|
2022-01-29 19:21:46 +01:00
|
|
|
driver: journald
|
2020-12-27 19:41:35 +01:00
|
|
|
ports:
|
2020-12-27 23:14:11 +01:00
|
|
|
- "127.0.0.1:{{ http_port }}:80"
|
2020-12-27 19:41:35 +01:00
|
|
|
- "{{ ip4_address }}:25:25"
|
|
|
|
- "{{ ip4_address }}:465:465"
|
2023-12-19 16:03:19 +01:00
|
|
|
- "{{ ip4_address }}:{{system_email_smtp_port}}:{{system_email_smtp_port}}"
|
2020-12-27 19:41:35 +01:00
|
|
|
- "{{ ip4_address }}:110:110"
|
|
|
|
- "{{ ip4_address }}:995:995"
|
|
|
|
- "{{ ip4_address }}:143:143"
|
|
|
|
- "{{ ip4_address }}:993:993"
|
|
|
|
volumes:
|
2023-04-15 19:48:46 +02:00
|
|
|
- "/etc/mailu/overrides/nginx:/overrides:ro"
|
2021-04-05 12:32:55 +02:00
|
|
|
- "/etc/mailu/certs:/certs"
|
2022-01-21 00:11:06 +01:00
|
|
|
depends_on:
|
2023-05-23 00:01:22 +02:00
|
|
|
resolver:
|
|
|
|
condition: service_started
|
2024-01-02 12:23:25 +01:00
|
|
|
{% if not enable_central_database %}
|
2022-01-21 00:11:06 +01:00
|
|
|
database:
|
|
|
|
condition: service_healthy
|
2023-12-31 11:14:18 +01:00
|
|
|
{% endif %}
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
2024-01-02 21:13:34 +01:00
|
|
|
default:
|
|
|
|
webmail:
|
|
|
|
radicale:
|
2023-05-23 00:01:22 +02:00
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
|
|
|
|
2020-12-27 19:41:35 +01:00
|
|
|
admin:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/admin:{{version_mailu}}
|
2020-12-27 19:41:35 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
volumes:
|
2020-12-28 20:54:44 +01:00
|
|
|
- "admin_data:/data"
|
|
|
|
- "dkim:/dkim"
|
2020-12-27 19:41:35 +01:00
|
|
|
depends_on:
|
2024-01-02 21:13:34 +01:00
|
|
|
resolver:
|
|
|
|
front:
|
|
|
|
redis:
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
2022-01-29 19:21:46 +01:00
|
|
|
logging:
|
|
|
|
driver: journald
|
2023-05-23 00:01:22 +02:00
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
2024-01-02 21:13:34 +01:00
|
|
|
|
2020-12-27 19:41:35 +01:00
|
|
|
imap:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/dovecot:{{version_mailu}}
|
2020-12-27 19:41:35 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
volumes:
|
2020-12-28 20:54:44 +01:00
|
|
|
- "dovecot_mail:/mail"
|
2023-04-15 19:48:46 +02:00
|
|
|
- "/etc/mailu/overrides:/overrides:ro"
|
2020-12-27 19:41:35 +01:00
|
|
|
depends_on:
|
|
|
|
- front
|
2023-05-23 00:01:22 +02:00
|
|
|
- resolver
|
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2022-01-29 19:21:46 +01:00
|
|
|
logging:
|
|
|
|
driver: journald
|
2024-01-02 21:39:17 +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:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/postfix:{{version_mailu}}
|
2020-12-27 19:41:35 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
volumes:
|
2023-04-15 19:48:46 +02:00
|
|
|
- "/etc/mailu/overrides:/overrides:ro"
|
2020-12-28 20:32:48 +01:00
|
|
|
- "smtp_queue:/queue"
|
2020-12-27 19:41:35 +01:00
|
|
|
depends_on:
|
|
|
|
- front
|
2023-05-23 00:01:22 +02:00
|
|
|
- resolver
|
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2022-01-29 19:21:46 +01:00
|
|
|
logging:
|
|
|
|
driver: journald
|
2024-01-02 21:39:17 +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:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/oletools:{{version_mailu}}
|
2023-04-15 19:48:46 +02:00
|
|
|
hostname: oletools
|
|
|
|
restart: always
|
2023-05-23 00:01:22 +02:00
|
|
|
depends_on:
|
|
|
|
- resolver
|
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
2024-01-02 21:13:34 +01:00
|
|
|
noinet:
|
2023-04-15 19:48:46 +02:00
|
|
|
|
2020-12-27 19:41:35 +01:00
|
|
|
antispam:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/rspamd:{{version_mailu}}
|
2020-12-27 19:41:35 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
volumes:
|
2020-12-28 20:54:44 +01:00
|
|
|
- "filter:/var/lib/rspamd"
|
|
|
|
- "dkim:/dkim"
|
2023-04-15 19:48:46 +02:00
|
|
|
- "/etc/mailu/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
|
2023-05-23 00:01:22 +02:00
|
|
|
- resolver
|
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2022-01-29 19:21:46 +01:00
|
|
|
logging:
|
|
|
|
driver: journald
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
2024-01-02 21:13:34 +01:00
|
|
|
default:
|
|
|
|
noinet:
|
|
|
|
|
2020-12-27 19:41:35 +01:00
|
|
|
|
|
|
|
# Optional services
|
|
|
|
antivirus:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/clamav:{{version_mailu}}
|
2020-12-27 19:41:35 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
volumes:
|
2020-12-28 20:54:44 +01:00
|
|
|
- "filter:/data"
|
2023-05-23 00:01:22 +02:00
|
|
|
depends_on:
|
|
|
|
- resolver
|
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2022-01-29 19:21:46 +01:00
|
|
|
logging:
|
|
|
|
driver: journald
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
2020-12-27 19:41:35 +01:00
|
|
|
|
|
|
|
webdav:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/radicale:{{version_mailu}}
|
2020-12-27 19:41:35 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
volumes:
|
2020-12-28 20:54:44 +01:00
|
|
|
- "webdav_data:/data"
|
2022-01-29 19:21:46 +01:00
|
|
|
logging:
|
|
|
|
driver: journald
|
2023-05-23 00:01:22 +02:00
|
|
|
networks:
|
|
|
|
- radicale
|
|
|
|
depends_on:
|
|
|
|
- resolver
|
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
2020-12-27 19:41:35 +01:00
|
|
|
|
2022-02-11 12:49:41 +01:00
|
|
|
fetchmail:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/fetchmail:{{version_mailu}}
|
2023-04-15 19:48:46 +02:00
|
|
|
volumes:
|
|
|
|
- "admin_data:/data"
|
2022-02-11 12:49:41 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
logging:
|
|
|
|
driver: journald
|
2023-04-15 19:48:46 +02:00
|
|
|
depends_on:
|
|
|
|
- admin
|
|
|
|
- smtp
|
|
|
|
- imap
|
2023-05-23 00:01:22 +02:00
|
|
|
- resolver
|
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
2020-12-27 19:41:35 +01:00
|
|
|
|
|
|
|
webmail:
|
2023-12-13 15:16:02 +01:00
|
|
|
image: ghcr.io/mailu/webmail:{{version_mailu}}
|
2020-12-27 19:41:35 +01:00
|
|
|
restart: always
|
|
|
|
env_file: mailu.env
|
|
|
|
volumes:
|
2020-12-28 20:54:44 +01:00
|
|
|
- "webmail_data:/data"
|
2023-12-13 14:42:13 +01:00
|
|
|
- "/etc/mailu/overrides:/overrides:ro"
|
2020-12-27 19:41:35 +01:00
|
|
|
depends_on:
|
|
|
|
- imap
|
2023-04-15 19:48:46 +02:00
|
|
|
- front
|
2023-05-23 00:01:22 +02:00
|
|
|
- resolver
|
2022-01-29 19:21:46 +01:00
|
|
|
logging:
|
|
|
|
driver: journald
|
2023-05-23 00:01:22 +02:00
|
|
|
dns:
|
|
|
|
- 192.168.203.254
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
2024-01-02 21:13:34 +01:00
|
|
|
webmail:
|
2023-05-23 00:01:22 +02:00
|
|
|
|
2020-12-28 17:24:45 +01:00
|
|
|
volumes:
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
2020-12-28 20:32:48 +01:00
|
|
|
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-02 21:13:34 +01:00
|
|
|
|
2024-01-02 21:39:17 +01:00
|
|
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
2020-12-27 19:41:35 +01:00
|
|
|
default:
|
|
|
|
driver: bridge
|
|
|
|
ipam:
|
|
|
|
driver: default
|
|
|
|
config:
|
2020-12-27 23:14:11 +01:00
|
|
|
- subnet: {{mailu_subnet}}
|
2023-05-23 00:01:22 +02:00
|
|
|
radicale:
|
|
|
|
driver: bridge
|
|
|
|
webmail:
|
|
|
|
driver: bridge
|
|
|
|
noinet:
|
|
|
|
driver: bridge
|
|
|
|
internal: true
|