# 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