computer-playbook/roles/docker-mailu/templates/docker-compose.yml.j2

130 lines
3.0 KiB
Plaintext
Raw Normal View History

2020-12-27 19:41:35 +01:00
version: '2.2'
services:
# External dependencies
redis:
image: redis:alpine
restart: always
volumes:
2020-12-28 20:54:44 +01:00
- "redis_data:/data"
2020-12-28 17:24:45 +01:00
database:
image: mariadb
restart: always
environment:
MYSQL_DATABASE: "mailu"
MYSQL_USER: "mailu"
MYSQL_PASSWORD: "{{mailu_database_password}}"
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- database:/var/lib/mysql
2020-12-27 19:41:35 +01:00
# Core services
front:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-1.8}
2020-12-27 19:41:35 +01:00
restart: always
env_file: mailu.env
logging:
driver: json-file
ports:
2020-12-27 23:14:11 +01:00
- "127.0.0.1:{{ http_port }}:80"
- "127.0.0.1:{{ https_port }}:443"
2020-12-27 19:41:35 +01:00
- "{{ ip4_address }}:25:25"
- "{{ ip4_address }}:465:465"
- "{{ ip4_address }}:587:587"
- "{{ ip4_address }}:110:110"
- "{{ ip4_address }}:995:995"
- "{{ ip4_address }}:143:143"
- "{{ ip4_address }}:993:993"
volumes:
- "/etc/letsencrypt:/certs/letsencrypt:ro"
2020-12-28 21:24:32 +01:00
- "/etc/mailu/overrides/nginx:/overrides"
- "front_certs:/certs"
2020-12-27 19:41:35 +01:00
admin:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-1.8}
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:
- front
2020-12-27 19:41:35 +01:00
imap:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-1.8}
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"
2020-12-28 21:24:32 +01:00
- "/etc/mailu/overrides:/overrides"
2020-12-27 19:41:35 +01:00
depends_on:
- front
smtp:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-1.8}
2020-12-27 19:41:35 +01:00
restart: always
env_file: mailu.env
volumes:
2020-12-28 21:24:32 +01:00
- "/etc/mailu/overrides:/overrides"
- "smtp_queue:/queue"
2020-12-27 19:41:35 +01:00
depends_on:
- front
antispam:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-1.8}
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"
2020-12-28 21:24:32 +01:00
- "/etc/mailu/overrides/rspamd:/etc/rspamd/override.d"
2020-12-27 19:41:35 +01:00
depends_on:
- front
# Optional services
antivirus:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}clamav:${MAILU_VERSION:-1.8}
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"
2020-12-27 19:41:35 +01:00
webdav:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-1.8}
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"
2020-12-27 19:41:35 +01:00
fetchmail:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-1.8}
2020-12-27 19:41:35 +01:00
restart: always
env_file: mailu.env
# Webmail
webmail:
2020-12-28 19:09:20 +01:00
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}roundcube:${MAILU_VERSION:-1.8}
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"
2020-12-27 19:41:35 +01:00
depends_on:
- imap
2020-12-28 17:24:45 +01:00
volumes:
database:
smtp_queue:
front_certs:
2020-12-28 20:54:44 +01:00
admin_data:
webdav_data:
webmail_data:
filter:
dkim:
dovecot_mail:
redis_data:
2020-12-27 19:41:35 +01:00
networks:
default:
driver: bridge
ipam:
driver: default
config:
2020-12-27 23:14:11 +01:00
- subnet: {{mailu_subnet}}