68 lines
2.1 KiB
YAML
68 lines
2.1 KiB
YAML
# Dev-стек: сервисы-зависимости для локальной разработки.
|
|
# Flask поднимается отдельно в venv (python wsgi.py) — так быстрее hot-reload.
|
|
# Для запуска: cd docker && docker compose up -d
|
|
#
|
|
# Порты наружу:
|
|
# 5432 postgres, 6379 redis, 7700 meili
|
|
# 25/143/587/993/465 — docker-mailserver (закомментировано до момента,
|
|
# когда будешь тестировать реальную почту)
|
|
services:
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_USER: mail
|
|
POSTGRES_PASSWORD: mail
|
|
POSTGRES_DB: mail
|
|
TZ: Europe/Moscow
|
|
ports: ["5432:5432"]
|
|
volumes:
|
|
- ./pg-data:/var/lib/postgresql/data
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports: ["6379:6379"]
|
|
volumes:
|
|
- ./redis-data:/data
|
|
command: redis-server --save 60 1 --loglevel warning
|
|
|
|
meili:
|
|
image: getmeili/meilisearch:v1.11
|
|
environment:
|
|
MEILI_MASTER_KEY: masterKey
|
|
MEILI_ENV: development
|
|
ports: ["7700:7700"]
|
|
volumes:
|
|
- ./meili-data:/meili_data
|
|
|
|
# ─── docker-mailserver ────────────────────────────────────────────────
|
|
mailserver:
|
|
image: ghcr.io/docker-mailserver/docker-mailserver:14.0
|
|
hostname: smtp.mail.local
|
|
ports:
|
|
- "25:25"
|
|
- "143:143"
|
|
- "465:465"
|
|
- "587:587"
|
|
- "993:993"
|
|
volumes:
|
|
- ./dms-data/mail:/var/mail
|
|
- ./dms-data/state:/var/mail-state
|
|
- ./dms-data/logs:/var/log/mail
|
|
- ./dms-config:/tmp/docker-mailserver
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
OVERRIDE_HOSTNAME: smtp.mail.local
|
|
ENABLE_RSPAMD: 1
|
|
ENABLE_AMAVIS: 0
|
|
ENABLE_OPENDKIM: 0
|
|
ENABLE_OPENDMARC: 0
|
|
ENABLE_POLICYD_SPF: 0
|
|
ENABLE_CLAMAV: 0
|
|
ENABLE_FAIL2BAN: 1
|
|
SSL_TYPE: ""
|
|
POSTMASTER_ADDRESS: postmaster@mail.local
|
|
LOG_LEVEL: info
|
|
cap_add: [NET_ADMIN]
|
|
restart: unless-stopped
|