docker/wildduck/docker-compose.yml

80 lines
1.9 KiB
YAML

services:
# MongoDB für WildDuck
mongo:
image: mongo:7.0
container_name: wildduck-mongo
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: wildduck
MONGO_INITDB_ROOT_PASSWORD: wildduck123
volumes:
- mongodb_data:/data/db
- mongodb_config:/data/configdb
ports:
- "127.0.0.1:27017:27017"
networks:
- mail_network
# Redis für WildDuck
redis:
image: redis:7.2-alpine
container_name: wildduck-redis
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis_data:/data
ports:
- "127.0.0.1:6379:6379"
networks:
- mail_network
# WildDuck Mail Server
wildduck:
image: nodemailer/wildduck:latest
container_name: wildduck-server
restart: unless-stopped
depends_on:
- mongo
- redis
volumes:
- ./wildduck.toml:/wildduck/config/default.toml
- wildduck_mail:/wildduck/mail
- wildduck_attachments:/wildduck/attachments
ports:
- "127.0.0.1:8080:8080" # API
- "25:25" # SMTP
- "587:587" # SMTP Submission
- "993:993" # IMAPS
- "127.0.0.1:995:995" # POP3S (nur lokal)
- "143:143" # IMAP
- "127.0.0.1:110:110" # POP3 (nur lokal)
networks:
- mail_network
# WildDuck Webmail Interface
wildduck-webmail:
image: nodemailer/wildduck-webmail:latest
container_name: wildduck-webmail
restart: unless-stopped
depends_on:
- wildduck
- redis
environment:
- WEBMAIL_HOST=mail.andreasknuth.de
- WILDDUCK_API=http://wildduck:8080
- REDIS_URL=redis://redis:6379
ports:
- "127.0.0.1:4000:3000"
networks:
- mail_network
networks:
mail_network:
external: true
volumes:
mongodb_data:
mongodb_config:
redis_data:
wildduck_mail:
wildduck_attachments: