version: '2.2' services: redis: image: redis:alpine restart: always volumes: - "/media/persistent/redis:/data" depends_on: - resolver dns: - 192.168.203.254 front: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env logging: driver: journald options: tag: mailu-front ports: - "<%= @bind_address %>:80:80" - "<%= @bind_address %>:443:443" - "<%= @bind_address %>:25:25" - "<%= @bind_address %>:465:465" - "<%= @bind_address %>:587:587" - "<%= @bind_address %>:110:110" - "<%= @bind_address %>:995:995" - "<%= @bind_address %>:143:143" - "<%= @bind_address %>:993:993" networks: - default volumes: - "/media/persistent/certs:/certs" - "/media/persistent/overrides/nginx:/overrides:ro" depends_on: - resolver dns: - 192.168.203.254 resolver: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-2.0} env_file: mailu.env restart: always networks: default: ipv4_address: 192.168.203.254 admin: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env logging: driver: journald options: tag: mailu-admin ports: - 127.0.0.1:8080:80 volumes: - "/media/persistent/data:/data" - "/media/persistent/dkim:/dkim" depends_on: - redis - resolver dns: - 192.168.203.254 imap: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env logging: driver: journald options: tag: mailu-imap volumes: - "/media/persistent/mail:/mail" - "/media/persistent/overrides/dovecot:/overrides:ro" depends_on: - front - resolver dns: - 192.168.203.254 smtp: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env logging: driver: journald options: tag: mailu-smtp volumes: - "/media/persistent/mailqueue:/queue" - "/media/persistent/overrides/postfix:/overrides:ro" depends_on: - front - resolver dns: - 192.168.203.254 antispam: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-2.0} hostname: antispam restart: always env_file: mailu.env logging: driver: journald options: tag: mailu-antispam volumes: - "/media/persistent/filter:/var/lib/rspamd" - "/media/persistent/overrides/rspamd:/overrides:ro" depends_on: - front - redis - resolver dns: - 192.168.203.254 networks: default: driver: bridge ipam: driver: default config: - subnet: 192.168.203.0/24