Mailu Mailserver docker config
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

250 lines
5.7 KiB

# This file is auto-generated by the Mailu configuration wizard.
# Please read the documentation before attempting any change.
# Generated for compose flavor
#
# This file was reviewed and edited by titzi
# 2023-01-20
version: '3.5'
networks:
webNet:
external: true
name: webNet
backend:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.213.0/24
noinet:
driver: bridge
internal: true
services:
# External dependencies
redis:
image: redis:alpine
container_name: redis_mailu
restart: unless-stopped
networks:
- backend
dns:
- 192.168.213.254
volumes:
- ./_data_/redis:/data
depends_on:
- resolver
# Core services
front:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2.0}
networks:
- backend
- webNet
dns:
- 192.168.213.254
restart: unless-stopped
env_file: mailu.env
logging:
driver: journald
options:
tag: mailu-front
ports:
#- "185.207.106.119:80:80"
#- "185.207.106.119:443:443"
- "185.207.106.119:25:25"
- "185.207.106.119:465:465"
- "185.207.106.119:587:587"
- "185.207.106.119:110:110"
- "185.207.106.119:995:995"
- "185.207.106.119:143:143"
- "185.207.106.119:993:993"
expose:
- 80
volumes:
#- "./_data_/certs:/certs"
#- "/var/docker/nginx-proxy/_data_/certs:/certs:ro"
- "./_data_/overrides/nginx:/overrides:ro"
- type: bind
source: /var/docker/nginx-proxy/_data_/certs/mailu.ckris.de/fullchain.pem
target: /certs/cert.pem
read_only: true
- type: bind
source: /var/docker/nginx-proxy/_data_/certs/mailu.ckris.de/key.pem
target: /certs/key.pem
read_only: true
depends_on:
- resolver
environment:
VIRTUAL_HOST: mailu.ckris.de,mail.ckris.de,smtp.ckris.de,imap.ckris.de,mail.family-bross.de,imap.family-bross.de,smtp.family-bross.de,imap.krisis-physio-vital.de,mail.krisis-physio-vital.de,smtp.krisis-physio-vital.de
VIRTUAL_PORT: 80
LETSENCRYPT_HOST: mailu.ckris.de,mail.ckris.de,smtp.ckris.de,imap.ckris.de,mail.family-bross.de,imap.family-bross.de,smtp.family-bross.de,imap.krisis-physio-vital.de,mail.krisis-physio-vital.de,smtp.krisis-physio-vital.de
LETSENCRYPT_EMAIL: webmaster@ckris.de
LETSENCRYPT_RESTART_CONTAINER: 'true'
resolver:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2.0}
env_file: mailu.env
restart: unless-stopped
networks:
backend:
ipv4_address: 192.168.213.254
admin:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2.0}
restart: unless-stopped
env_file:
- mailu.env
- secret.env
logging:
driver: journald
options:
tag: mailu-admin
volumes:
- "./_data_/admin:/data"
- "./_data_/dkim:/dkim"
depends_on:
- redis
- resolver
networks:
- backend
dns:
- 192.168.213.254
imap:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2.0}
networks:
- backend
dns:
- 192.168.213.254
restart: unless-stopped
env_file: mailu.env
logging:
driver: journald
options:
tag: mailu-imap
volumes:
- "./_data_/mail:/mail"
- "./_data_/overrides/dovecot:/overrides"
depends_on:
- front
- resolver
smtp:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2.0}
networks:
- backend
dns:
- 192.168.213.254
restart: unless-stopped
env_file: mailu.env
logging:
driver: journald
options:
tag: mailu-smtp
volumes:
- "./_data_/mailqueue:/queue"
- "./_data_/overrides/postfix:/overrides:ro"
depends_on:
- front
- resolver
antispam:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2.0}
hostname: antispam
networks:
- backend
- noinet
dns:
- 192.168.213.254
restart: unless-stopped
env_file:
- mailu.env
- secret.env
logging:
driver: journald
options:
tag: mailu-antispam
volumes:
- "./_data_/filter:/var/lib/rspamd"
- "./_data_/overrides/rspamd:/override:ro"
depends_on:
- front
- redis
- oletools
- antivirus
- resolver
antivirus:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}clamav:${MAILU_VERSION:-2.0}
networks:
- backend
dns:
- 192.168.213.254
restart: unless-stopped
env_file:
- mailu.env
- secret.env
volumes:
- "./_data_/filter:/data"
depends_on:
- resolver
oletools:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-2.0}
hostname: oletools
networks:
- noinet
dns:
- 192.168.213.254
restart: unless-stopped
depends_on:
- resolver
# Optional services
fetchmail:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-2.0}
networks:
- backend
dns:
- 192.168.213.254
restart: unless-stopped
env_file: mailu.env
volumes:
- "./_data_/fetchmail:/data"
depends_on:
- admin
- smtp
- imap
- resolver
# Webmail
webmail:
image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-2.0}
networks:
- webNet
restart: unless-stopped
env_file:
- mailu.env
- secret.env
volumes:
- "./_data_/webmail_roundcube:/data"
- "./_data_/overrides/roundcube:/overrides:ro"
depends_on:
- front