mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 21:57:00 +01:00
116 lines
2.5 KiB
YAML
116 lines
2.5 KiB
YAML
version: '2'
|
|
|
|
networks:
|
|
web:
|
|
external:
|
|
name: web
|
|
|
|
services:
|
|
front:
|
|
image: mailu/nginx:$VERSION
|
|
restart: always
|
|
env_file: .env
|
|
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"
|
|
volumes:
|
|
- "../traefik/certs/ssl/banditlair.com.crt:/certs/cert.pem"
|
|
- "../traefik/certs/ssl/banditlair.com.key:/certs/key.pem"
|
|
redis:
|
|
image: redis:alpine
|
|
restart: always
|
|
volumes:
|
|
- "$ROOT/redis:/data"
|
|
|
|
imap:
|
|
image: mailu/dovecot:$VERSION
|
|
restart: always
|
|
env_file: .env
|
|
volumes:
|
|
- "$ROOT/data:/data"
|
|
- "$ROOT/mail:/mail"
|
|
- "./overrides:/overrides"
|
|
|
|
smtp:
|
|
image: mailu/postfix:$VERSION
|
|
restart: always
|
|
env_file: .env
|
|
volumes:
|
|
- "$ROOT/data:/data"
|
|
- "./overrides:/overrides"
|
|
|
|
antispam:
|
|
image: mailu/rspamd:$VERSION
|
|
restart: always
|
|
env_file: .env
|
|
volumes:
|
|
- "$ROOT/filter:/var/lib/rspamd"
|
|
- "$ROOT/dkim:/dkim"
|
|
- "./overrides/rspamd:/etc/rspamd/override.d"
|
|
|
|
antivirus:
|
|
image: mailu/$ANTIVIRUS:$VERSION
|
|
restart: always
|
|
env_file: .env
|
|
volumes:
|
|
- "$ROOT/filter:/data"
|
|
|
|
webdav:
|
|
image: mailu/$WEBDAV:$VERSION
|
|
restart: always
|
|
env_file: .env
|
|
volumes:
|
|
- "$ROOT/dav:/data"
|
|
|
|
admin:
|
|
image: mailu/admin:$VERSION
|
|
restart: always
|
|
env_file: .env
|
|
expose:
|
|
- 80
|
|
labels:
|
|
- "traefik.backend=mailu-admin"
|
|
- "traefik.docker.network=web"
|
|
- "traefik.frontend.rule=Host:mailu.banditlair.com"
|
|
- "traefik.enable=true"
|
|
- "traefik.port=80"
|
|
- "traefik.default.protocol=http"
|
|
volumes:
|
|
- "$ROOT/data:/data"
|
|
- "$ROOT/dkim:/dkim"
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
depends_on:
|
|
- redis
|
|
networks:
|
|
- web
|
|
- default
|
|
|
|
webmail:
|
|
image: hardware/rainloop
|
|
restart: always
|
|
expose:
|
|
- 8888
|
|
labels:
|
|
- "traefik.backend=webmail"
|
|
- "traefik.docker.network=web"
|
|
- "traefik.frontend.rule=Host:webmail.banditlair.com"
|
|
- "traefik.enable=true"
|
|
- "traefik.port=8888"
|
|
- "traefik.default.protocol=http"
|
|
volumes:
|
|
- "$ROOT/webmail:/rainloop/data"
|
|
networks:
|
|
- web
|
|
- default
|
|
|
|
fetchmail:
|
|
image: mailu/fetchmail:$VERSION
|
|
restart: always
|
|
env_file: .env
|
|
volumes:
|
|
- "$ROOT/data:/data"
|