65 lines
1.7 KiB
Plaintext
65 lines
1.7 KiB
Plaintext
services:
|
|
|
|
stalwart:
|
|
image: stalwartlabs/stalwart:latest
|
|
container_name: stalwart
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
ports:
|
|
- "25:25" # SMTP (входящая почта)
|
|
- "465:465" # SMTP over TLS (SMTPS)
|
|
- "587:587" # SMTP submission (клиенты)
|
|
- "143:143" # IMAP
|
|
- "993:993" # IMAP over TLS
|
|
- "4190:4190" # ManageSieve
|
|
- "8080:8080" # HTTP: WebAdmin + JMAP + autodiscovery
|
|
- "443:443" # HTTPS (если не используется внешний reverse proxy)
|
|
volumes:
|
|
- ./data/stalwart:/opt/stalwart
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
depends_on:
|
|
rspamd:
|
|
condition: service_started
|
|
clamav:
|
|
condition: service_healthy
|
|
networks:
|
|
- mail
|
|
|
|
rspamd:
|
|
image: rspamd/rspamd:latest
|
|
container_name: rspamd
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
volumes:
|
|
- ./config/rspamd:/etc/rspamd/local.d
|
|
- ./data/rspamd:/var/lib/rspamd
|
|
networks:
|
|
- mail
|
|
# Milter порт 11332 доступен только внутри сети
|
|
|
|
clamav:
|
|
image: clamav/clamav:stable
|
|
container_name: clamav
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
volumes:
|
|
- ./data/clamav/db:/var/lib/clamav
|
|
- ./data/clamav/run:/run/clamav
|
|
environment:
|
|
- CLAMAV_NO_FRESHCLAMD=false
|
|
- CLAMAV_NO_MILTERD=false
|
|
- CLAMAV_MILTER_PORT=7357
|
|
healthcheck:
|
|
test: ["CMD", "clamdcheck.sh"]
|
|
interval: 60s
|
|
retries: 3
|
|
start_period: 120s # ClamAV долго стартует (загрузка сигнатур)
|
|
networks:
|
|
- mail
|
|
|
|
networks:
|
|
mail:
|
|
name: mail
|
|
driver: bridge
|