self-hosting/roles/mailu-docker/files/mailu/docker-compose.yml
2019-11-05 03:37:05 +01:00

123 lines
2.5 KiB
YAML

version: '3.6'
networks:
web:
external:
name: web
default:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.64.0/20
services:
front:
image: mailu/nginx:$VERSION
restart: always
env_file: .env
logging:
driver: json-file
ports:
- "$BIND_ADDRESS4:110:110"
- "$BIND_ADDRESS4:143:143"
- "$BIND_ADDRESS4:993:993"
- "$BIND_ADDRESS4:995:995"
- "$BIND_ADDRESS4:25:25"
- "$BIND_ADDRESS4:465:465"
- "$BIND_ADDRESS4:587:587"
labels:
- "traefik.backend=webmail"
- "traefik.docker.network=web"
- "traefik.frontend.rule=Host:webmail.banditlair.com"
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.default.protocol=http"
volumes:
- "../traefik/certs/ssl/certs/banditlair.com.crt:/certs/cert.pem"
- "../traefik/certs/ssl/private/banditlair.com.key:/certs/key.pem"
- "/var/lib/mailu/overrides/nginx:/overrides"
networks:
- web
- default
redis:
image: redis:alpine
restart: always
volumes:
- "/var/lib/mailu/redis:/data"
resolver:
image: mailu/unbound:$VERSION
restart: always
env_file: .env
networks:
default:
ipv4_address: 192.168.64.254
admin:
image: mailu/admin:$VERSION
restart: always
env_file: .env
volumes:
- "/var/lib/mailu/data:/data"
- "/var/lib/mailu/dkim:/dkim"
depends_on:
- redis
imap:
image: mailu/dovecot:$VERSION
restart: always
env_file: .env
volumes:
- "/var/lib/mailu/data:/data"
- "/var/lib/mailu/mail:/mail"
- "./overrides:/overrides"
depends_on:
- front
smtp:
image: mailu/postfix:$VERSION
restart: always
env_file: .env
volumes:
- "/var/lib/mailu/data:/data"
- "./overrides:/overrides"
depends_on:
- front
- resolver
dns:
- 192.168.64.254
antispam:
image: mailu/rspamd:$VERSION
restart: always
env_file: .env
volumes:
- "/var/lib/mailu/filter:/var/lib/rspamd"
- "/var/lib/mailu/dkim:/dkim"
- "./overrides/rspamd:/etc/rspamd/override.d"
depends_on:
- front
- resolver
dns:
- 192.168.64.254
fetchmail:
image: mailu/fetchmail:$VERSION
restart: always
env_file: .env
depends_on:
- resolver
dns:
- 192.168.64.254
webmail:
image: mailu/rainloop
restart: always
env_file: .env
volumes:
- "/var/lib/mailu/webmail:/data"
depends_on:
- imap