{% set env='mailu.env' %} # This file is auto-generated by the Mailu configuration wizard. # Please read the documentation before attempting any change. # Generated for {{ flavor }} flavor version: '3.6' services: # External dependencies redis: image: redis:alpine restart: always volumes: - "{{ root }}/redis:/data" # Core services front: image: mailu/nginx:{{ version }} env_file: {{ env }} ports: {% for port in (80, 443, 25, 465, 587, 110, 995, 143, 993) %} - target: {{ port }} published: {{ port }} mode: overlay {% endfor %} volumes: - "{{ root }}/certs:/certs" - "{{ root }}/overrides/nginx:/overrides" deploy: replicas: 1 {% if resolver_enabled %} resolver: image: mailu/unbound:{{ version }} env_file: {{ env }} networks: default: ipv4_address: {{ dns }} {% endif %} admin: image: mailu/admin:{{ version }} env_file: {{ env }} {% if not admin_enabled %} ports: - 127.0.0.1:8080:80 {% endif %} volumes: - "{{ root }}/data:/data" - "{{ root }}/dkim:/dkim" deploy: replicas: 1 imap: image: mailu/dovecot:{{ version }} env_file: {{ env }} environment: # Default to 10.0.1.0/24 - POD_ADDRESS_RANGE={{ subnet }} volumes: - "{{ root }}/mail:/mail" - "{{ root }}/overrides:/overrides" deploy: replicas: 1 smtp: image: mailu/postfix:{{ version }} env_file: {{ env }} environment: - POD_ADDRESS_RANGE={{ subnet }} volumes: - "{{ root }}/overrides:/overrides" deploy: replicas: 1 {% if resolver_enabled %} dns: - {{ dns }} {% endif %} # Optional services {% if antispam_enabled %} antispam: image: mailu/rspamd:{{ version }} env_file: {{ env }} environment: - POD_ADDRESS_RANGE={{ subnet }} volumes: - "{{ root }}/filter:/var/lib/rspamd" - "{{ root }}/dkim:/dkim" - "{{ root }}/overrides/rspamd:/etc/rspamd/override.d" deploy: replicas: 1 {% if resolver_enabled %} dns: - {{ dns }} {% endif %} {% endif %} {% if antivirus_enabled %} antivirus: image: mailu/clamav:{{ version }} env_file: {{ env }} volumes: - "{{ root }}/filter:/data" deploy: replicas: 1 {% if resolver_enabled %} dns: - {{ dns }} {% endif %} {% endif %} {% if webdav_enabled %} webdav: image: mailu/none:{{ version }} env_file: {{ env }} volumes: - "{{ root }}/dav:/data" deploy: replicas: 1 {% endif %} {% if fetchmail_enabled %} fetchmail: image: mailu/fetchmail:{{ version }} env_file: {{ env }} volumes: - "{{ root }}/data:/data" deploy: replicas: 1 {% if resolver_enabled %} dns: - {{ dns }} {% endif %} {% endif %} {% if webmail_type != 'none' %} webmail: image: mailu/roundcube:{{ version }} env_file: {{ env }} volumes: - "{{ root }}/webmail:/data" deploy: replicas: 1 {% endif %} networks: default: driver: overlay ipam: driver: default config: - subnet: {{ subnet }}