commit 7d6085b3cc1164bc1860dc141477384484ba6f2e Author: Tord-Vincent Heggland Date: Wed May 6 12:07:12 2026 +0200 first diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9465d9e --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +data +dkim +filter +mail +mailqueue +overrides +redis +mailu.env diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..f822687 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,142 @@ +services: + front: + image: ghcr.io/mailu/nginx:2024.06 + container_name: mailu-front + restart: unless-stopped + env_file: mailu.env + ports: + - "25:25" + - "587:587" + - "993:993" + volumes: + - ./certs:/certs + - ./overrides/nginx:/overrides:ro + depends_on: + - resolver + dns: + - 192.168.203.254 + networks: + mailu_net: + ipv4_address: 192.168.203.2 + proxy_net: + + resolver: + image: ghcr.io/mailu/unbound:2024.06 + container_name: mailu-resolver + restart: unless-stopped + env_file: mailu.env + networks: + mailu_net: + ipv4_address: 192.168.203.254 + + redis: + image: redis:alpine + container_name: mailu-redis + restart: unless-stopped + volumes: + - ./redis:/data + networks: + mailu_net: + ipv4_address: 192.168.203.3 + + admin: + image: ghcr.io/mailu/admin:2024.06 + container_name: mailu-admin + restart: unless-stopped + env_file: mailu.env + volumes: + - ./data:/data + - ./dkim:/dkim + depends_on: + - redis + - resolver + dns: + - 192.168.203.254 + networks: + mailu_net: + ipv4_address: 192.168.203.4 + + imap: + image: ghcr.io/mailu/dovecot:2024.06 + container_name: mailu-imap + restart: unless-stopped + env_file: mailu.env + volumes: + - ./mail:/mail + - ./overrides/dovecot:/overrides:ro + depends_on: + - resolver + dns: + - 192.168.203.254 + networks: + mailu_net: + ipv4_address: 192.168.203.5 + + smtp: + image: ghcr.io/mailu/postfix:2024.06 + container_name: mailu-smtp + restart: unless-stopped + env_file: mailu.env + volumes: + - ./mailqueue:/queue + - ./overrides/postfix:/overrides:ro + depends_on: + - resolver + dns: + - 192.168.203.254 + networks: + mailu_net: + ipv4_address: 192.168.203.6 + + antispam: + image: ghcr.io/mailu/rspamd:2024.06 + container_name: mailu-antispam + restart: unless-stopped + env_file: mailu.env + volumes: + - ./filter:/var/lib/rspamd + - ./dkim:/dkim + - ./overrides/rspamd:/overrides:ro + depends_on: + - resolver + # - clamav + dns: + - 192.168.203.254 + networks: + mailu_net: + ipv4_address: 192.168.203.7 + +# clamav: + # image: ghcr.io/mailu/clamav:2024.06 + # container_name: mailu-clamav + # restart: unless-stopped + # env_file: mailu.env + # volumes: + # - ./filter/clamav:/data + # networks: + # mailu_net: + # ipv4_address: 192.168.203.8 + + webmail: + image: ghcr.io/mailu/roundcube:2024.06 + container_name: mailu-webmail + restart: unless-stopped + env_file: mailu.env + volumes: + - ./webmail:/data + depends_on: + - imap + - smtp + networks: + mailu_net: + ipv4_address: 192.168.203.9 + +networks: + mailu_net: + driver: bridge + ipam: + config: + - subnet: 192.168.203.0/24 + + proxy_net: + external: true