version: '2.2' services: redis: image: redis:alpine restart: always volumes: - "./redis:/data" depends_on: - resolver dns: - 172.25.25.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: - "127.0.0.1:50001:80" - "127.0.0.1:50002:443" - "79.137.198.179:25:25" - "79.137.198.179:465:465" - "79.137.198.179:587:587" - "79.137.198.179:110:110" - "79.137.198.179:995:995" - "79.137.198.179:143:143" - "79.137.198.179:993:993" networks: - default - webmail volumes: - "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/fruw.org:/certs" - "./overrides/nginx:/overrides:ro" depends_on: - resolver dns: - 172.25.25.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: 172.25.25.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 volumes: - "./data:/data" - "./dkim:/dkim" depends_on: - redis - resolver dns: - 172.25.25.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: - "./mail:/mail" - "./overrides/dovecot:/overrides:ro" depends_on: - front - resolver dns: - 172.25.25.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: - "./mailqueue:/queue" - "./overrides/postfix:/overrides:ro" depends_on: - front - resolver dns: - 172.25.25.254 oletools: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-2.0} hostname: oletools restart: always networks: - noinet depends_on: - resolver dns: - 172.25.25.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 networks: - default - noinet volumes: - "./filter:/var/lib/rspamd" - "./overrides/rspamd:/overrides:ro" depends_on: - front - redis - oletools - resolver dns: - 172.25.25.254 webmail: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-2.0} restart: always env_file: mailu.env volumes: - "./webmail:/data" - "./overrides/roundcube:/overrides:ro" networks: - webmail depends_on: - front networks: default: driver: bridge ipam: driver: default config: - subnet: 172.25.25.0/24 webmail: driver: bridge noinet: driver: bridge internal: true