| Тег | Описание |
|---|---|
latest |
Последняя стабильная версия из основной ветки (main) |
X.Y.Z |
Конкретная версия (например, 0.18.3) |
Вам понадобятся файлы docker-compose.yml и madmail.conf.
В этом режиме автоматически генерируются самоподписанные TLS-сертификаты (self-signed).
services:
madmail:
image: ghcr.io/themadorg/madmail:latest
restart: always
ports:
- "25:25" # SMTP
- "143:143" # IMAP (STARTTLS)
- "465:465" # Submission (TLS/SSL)
- "587:587" # Submission (STARTTLS)
- "993:993" # IMAPS (TLS/SSL)
- "80:80" # HTTP
- "443:443" # HTTPS
- "1080:1080" # Shadowsocks
volumes:
- ./madmail.conf:/data/madmail.conf
- ./data:/data
- ./tls:/data/tls
environment:
- MADMAIL_HOSTNAME=IP_ВАШЕГО_СЕРВЕРА
- MADMAIL_DOMAIN=[IP_ВАШЕГО_СЕРВЕРА]
- MADMAIL_PUBLIC_IP=IP_ВАШЕГО_СЕРВЕРА
- MADMAIL_SQLITE_UNSAFE_SYNC_OFF=1
MADMAIL_DOMAIN: [203.0.113.50]
Ошибка database is locked в SQLite решается переходом на PostgreSQL.
Также становится доступным pub/sub для обновления IMAP в реальном времени.
services:
madmail:
image: ghcr.io/themadorg/madmail:latest
restart: always
ports:
- "25:25"
- "143:143"
- "465:465"
- "587:587"
- "993:993"
- "80:80"
- "443:443"
- "1080:1080"
volumes:
- ./madmail.conf:/data/madmail.conf
- ./data:/data
- ./tls:/data/tls
environment:
- MADMAIL_HOSTNAME=IP_ВАШЕГО_СЕРВЕРА
- MADMAIL_DOMAIN=[IP_ВАШЕГО_СЕРВЕРА]
- MADMAIL_PUBLIC_IP=IP_ВАШЕГО_СЕРВЕРА
- POSTGRES_USER=madmail
- POSTGRES_PASSWORD=madmail_pass
- POSTGRES_DB=madmail
depends_on:
- db
db:
image: postgres:alpine
restart: always
environment:
- POSTGRES_USER=madmail
- POSTGRES_PASSWORD=madmail_pass
- POSTGRES_DB=madmail
volumes:
- ./pgdata:/var/lib/postgresql/data
services:
madmail:
image: ghcr.io/themadorg/madmail:latest
restart: always
ports:
- "25:25"
- "143:143"
- "465:465"
- "587:587"
- "993:993"
- "80:80"
- "443:443"
- "1080:1080"
volumes:
- ./madmail.conf:/data/madmail.conf
- ./data:/data
environment:
- MADMAIL_HOSTNAME=chat.example.org
- MADMAIL_DOMAIN=chat.example.org
- MADMAIL_PUBLIC_IP=203.0.113.50
- MADMAIL_ACME_EMAIL=admin@example.org
/data/autocert/ и продлеваются автоматически| Порт | Протокол | Описание |
|---|---|---|
| 25 | SMTP | Входящая/исходящая почта |
| 143 | IMAP | Чтение почты (STARTTLS) |
| 465 | Submission | Исходящая почта (TLS/SSL) |
| 587 | Submission | Исходящая почта (STARTTLS) |
| 993 | IMAPS | Чтение почты (TLS/SSL) |
| 80 | HTTP | Регистрация + ACME-проверка |
| 443 | HTTPS | Регистрация + ALPN мультиплексор |
| 1080 | SOCKS5 | Shadowsocks прокси |
| Путь в контейнере | Описание |
|---|---|
/data/madmail.conf | Файл конфигурации сервера |
/data | Директория состояния (БД, ключи, сертификаты) |
/data/tls | Файлы TLS-сертификатов |
docker build -t madmail .
docker compose up -d --build
Docker-образы автоматически собираются и отправляются в GHCR при каждом коммите в ветку main.