2018-11-20 17:13:09 +00:00
|
|
|
version: '3'
|
|
|
|
services:
|
|
|
|
smtp:
|
|
|
|
container_name: smtp
|
|
|
|
build: ./smtp
|
|
|
|
restart: always
|
|
|
|
depends_on:
|
|
|
|
- imap
|
|
|
|
- db
|
|
|
|
ports:
|
|
|
|
- '25:25'
|
|
|
|
- '587:587'
|
|
|
|
links:
|
|
|
|
- imap:imap
|
|
|
|
- db:db
|
|
|
|
- spam:spam
|
2018-12-07 16:00:01 +00:00
|
|
|
- mailman-core:mailman-core
|
2018-11-20 17:13:09 +00:00
|
|
|
volumes:
|
2018-12-07 16:00:01 +00:00
|
|
|
- /data_test/mailserver/mailman/core:/mailman
|
2018-11-20 17:13:09 +00:00
|
|
|
- mails:/home/vmail
|
2018-12-07 16:00:01 +00:00
|
|
|
- /dev/log:/dev/log
|
2018-11-20 17:13:09 +00:00
|
|
|
- certs:/certs
|
|
|
|
environment:
|
|
|
|
- DATABASE_USER=mail
|
2018-12-07 16:00:01 +00:00
|
|
|
- DATABASE_PASSWORD=98ewtx9mwh4e9x
|
2018-11-20 17:13:09 +00:00
|
|
|
- DATABASE_NAME=postfix
|
|
|
|
- MYORIGIN=creditcards.bayern
|
|
|
|
- MYHOSTNAME=mail.creditcards.bayern
|
|
|
|
labels:
|
|
|
|
- "traefik.enable=false"
|
2018-12-07 16:00:01 +00:00
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
aliases:
|
|
|
|
- smtp
|
2018-11-20 17:13:09 +00:00
|
|
|
|
|
|
|
imap:
|
|
|
|
container_name: imap
|
|
|
|
build: ./imap
|
|
|
|
restart: always
|
|
|
|
depends_on:
|
|
|
|
- db
|
|
|
|
ports:
|
|
|
|
- '993:993'
|
|
|
|
- '4190:4190'
|
|
|
|
expose:
|
|
|
|
- '24'
|
|
|
|
- '8472'
|
2018-12-07 16:00:01 +00:00
|
|
|
- '993'
|
2018-11-20 17:13:09 +00:00
|
|
|
links:
|
|
|
|
- db
|
|
|
|
- spam
|
|
|
|
volumes:
|
|
|
|
- mails:/home/vmail
|
|
|
|
- certs:/certs
|
|
|
|
environment:
|
|
|
|
- "DATABASE_USER=mail"
|
2018-12-07 16:00:01 +00:00
|
|
|
- "DATABASE_PASSWORD=98ewtx9mwh4e9x"
|
2018-11-20 17:13:09 +00:00
|
|
|
- "DATABASE_NAME=postfix"
|
|
|
|
- "MAILDOMAIN=mail.creditcards.bayern"
|
|
|
|
labels:
|
|
|
|
- "traefik.enable=false"
|
|
|
|
|
|
|
|
spam:
|
|
|
|
container_name: spam
|
|
|
|
build: ./spam
|
|
|
|
restart: always
|
|
|
|
expose:
|
|
|
|
- 11334
|
2018-12-07 16:00:01 +00:00
|
|
|
- 11332
|
2018-11-20 17:13:09 +00:00
|
|
|
volumes:
|
2018-12-07 16:00:01 +00:00
|
|
|
- spam:/data_test
|
|
|
|
- /data_test/rspamd/:/var/lib/rspamd
|
2018-11-20 17:13:09 +00:00
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
environment:
|
2018-12-07 16:00:01 +00:00
|
|
|
- PASSWORD=feelsnotverysecure
|
2018-11-20 17:13:09 +00:00
|
|
|
- PORT=11334
|
|
|
|
labels:
|
|
|
|
- "traefik.frontend.rule=Host:spam.creditcards.bayern"
|
|
|
|
- "traefik.port=11334"
|
|
|
|
|
|
|
|
webmail:
|
|
|
|
container_name: webmail
|
|
|
|
image: roundcube/roundcubemail:latest-apache
|
|
|
|
depends_on:
|
|
|
|
- smtp
|
|
|
|
- imap
|
|
|
|
- db
|
|
|
|
restart: always
|
|
|
|
links:
|
|
|
|
- imap:imap
|
|
|
|
- smtp:smtp
|
|
|
|
environment:
|
2018-12-07 16:00:01 +00:00
|
|
|
ROUNDCUBEMAIL_DEFAULT_HOST: "ssl://imap"
|
|
|
|
ROUNDCUBEMAIL_DEFAULT_PORT: "993"
|
|
|
|
ROUNDCUBEMAIL_SMTP_SERVER: "tls://smtp"
|
|
|
|
ROUNDCUBEMAIL_SMTP_PORT: 587
|
2018-11-20 17:13:09 +00:00
|
|
|
ROUNDCUBEMAIL_PLUGINS: archive,zipdownload,managesieve,password
|
|
|
|
ROUNDCUBEMAIL_UPLOAD_MAX_FILESIZE: 100M
|
|
|
|
ROUNDCUBEMAIL_DB_TYPE: mysql
|
|
|
|
ROUNDCUBEMAIL_DB_HOST: db
|
|
|
|
ROUNDCUBEMAIL_DB_USER: mail
|
2018-12-07 16:00:01 +00:00
|
|
|
ROUNDCUBEMAIL_DB_PASSWORD: 98ewtx9mwh4e9x
|
|
|
|
ROUNDCUBEMAIL_DB_NAME: roundcube
|
|
|
|
volumes:
|
|
|
|
- ./webmail/config.inc.php:/var/roundcube/config/config.inc.php
|
2018-11-20 17:13:09 +00:00
|
|
|
labels:
|
|
|
|
- "traefik.frontend.rule=Host:mail.creditcards.bayern"
|
|
|
|
- "traefik.port=80"
|
|
|
|
|
|
|
|
admin:
|
|
|
|
container_name: admin
|
|
|
|
links:
|
|
|
|
- db:db
|
|
|
|
depends_on:
|
|
|
|
- db
|
|
|
|
image: hardware/postfixadmin:latest
|
|
|
|
expose:
|
|
|
|
- "8888"
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
DBTYPPE: mysql
|
|
|
|
DBHOST: db
|
|
|
|
DBUSER: mail
|
|
|
|
DBNAME: postfix
|
2018-12-07 16:00:01 +00:00
|
|
|
DBPASS: 98ewtx9mwh4e9x
|
2018-11-20 17:13:09 +00:00
|
|
|
SMTPHOST: smtp
|
|
|
|
DOMAIN: creditcards.bayern
|
|
|
|
labels:
|
|
|
|
- "traefik.frontend.rule=Host:admin.creditcards.bayern"
|
|
|
|
- "traefik.port=8888"
|
|
|
|
|
|
|
|
db:
|
|
|
|
container_name: mariadb
|
|
|
|
image: mariadb:10.3
|
|
|
|
restart: always
|
|
|
|
environment:
|
2018-12-07 16:00:01 +00:00
|
|
|
MYSQL_ROOT_PASSWORD: kf43,cj,ewft3jr4
|
|
|
|
MYSQL_DATABASES: "postfix mailman roundcube"
|
2018-11-20 17:13:09 +00:00
|
|
|
MYSQL_USER: mail
|
2018-12-07 16:00:01 +00:00
|
|
|
MYSQL_PASSWORD: 98ewtx9mwh4e9x
|
2018-11-20 17:13:09 +00:00
|
|
|
volumes:
|
2018-12-07 16:00:01 +00:00
|
|
|
- /data_test/mailserver/db:/var/lib/mysql
|
|
|
|
- ./db/docker-entrypoint.sh:/docker-entrypoint.sh
|
|
|
|
- /var/docker/mailserver/db:/docker-entrypoint-initdb.d
|
2018-11-20 17:13:09 +00:00
|
|
|
labels:
|
|
|
|
- "traefik.enable=false"
|
|
|
|
|
|
|
|
mailman-core:
|
|
|
|
image: maxking/mailman-core:latest
|
|
|
|
container_name: mailman-core
|
|
|
|
hostname: mailman-core
|
|
|
|
volumes:
|
2018-12-07 16:00:01 +00:00
|
|
|
- /data_test/mailserver/mailman/core:/opt/mailman/
|
|
|
|
- ./mailman-extra.cfg:/opt/mailman/mailman-extra.cfg
|
2018-11-20 17:13:09 +00:00
|
|
|
links:
|
2018-12-07 16:00:01 +00:00
|
|
|
- db:db
|
|
|
|
expose:
|
|
|
|
- 8024
|
|
|
|
- 8001
|
2018-11-20 17:13:09 +00:00
|
|
|
depends_on:
|
|
|
|
- db
|
|
|
|
environment:
|
2018-12-07 16:00:01 +00:00
|
|
|
- DATABASE_URL=mysql://mail:98ewtx9mwh4e9x@db/mailman
|
2018-11-20 17:13:09 +00:00
|
|
|
- DATABASE_TYPE=mysql
|
|
|
|
- DATABASE_CLASS=mailman.database.mysql.MySQLDatabase
|
|
|
|
- HYPERKITTY_API_KEY=someapikey
|
2018-12-07 16:00:01 +00:00
|
|
|
- MM_HOSTNAME=mailman-core
|
|
|
|
- SMTP_PORT=587
|
|
|
|
- SMTP_HOST=smtp
|
|
|
|
- MTA=postfix
|
2018-11-20 17:13:09 +00:00
|
|
|
labels:
|
|
|
|
- "traefik.enable=false"
|
|
|
|
|
|
|
|
mailman-web:
|
|
|
|
image: maxking/mailman-web:latest
|
|
|
|
container_name: mailman-web
|
|
|
|
hostname: mailman-web
|
|
|
|
expose:
|
|
|
|
- 8000
|
|
|
|
- 8080
|
|
|
|
depends_on:
|
|
|
|
- db
|
|
|
|
links:
|
|
|
|
- mailman-core:mailman-core
|
|
|
|
- db:db
|
2018-12-07 16:00:01 +00:00
|
|
|
- smtp:smtp
|
2018-11-20 17:13:09 +00:00
|
|
|
volumes:
|
2018-12-07 16:00:01 +00:00
|
|
|
- ./settings_local.py:/opt/mailman/web/settings_local.py
|
|
|
|
- /data_test/mailserver/mailman/web:/opt/mailman-web-data
|
|
|
|
- /data_test/mailserver/mailman/core:/var/mailman_
|
2018-11-20 17:13:09 +00:00
|
|
|
environment:
|
2018-12-07 16:00:01 +00:00
|
|
|
- DATABASE_URL=mysql://mail:98ewtx9mwh4e9x@db/mailman
|
2018-11-20 17:13:09 +00:00
|
|
|
- DATABASE_TYPE=mysql
|
|
|
|
- HYPERKITTY_API_KEY=someapikey
|
2018-12-07 16:00:01 +00:00
|
|
|
- SECRET_KEY=feelsnotverysecure
|
2018-11-20 17:13:09 +00:00
|
|
|
- DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
|
|
|
|
- SERVE_FROM_DOMAIN=lists.creditcards.bayern
|
|
|
|
- DJANGO_ALLOWED_HOSTS=mailman.creditcards.bayern
|
|
|
|
- MAILMAN_ADMIN_USER=admin
|
|
|
|
- MAILMAN_ADMIN_EMAIL=a3x@eris.cc
|
|
|
|
- UWSGI_STATIC_MAP=/static=/opt/mailman-web-data/static
|
2018-12-07 16:00:01 +00:00
|
|
|
- SMTP_PORT=587
|
|
|
|
- SMTP_HOST=smtp
|
2018-11-20 17:13:09 +00:00
|
|
|
labels:
|
|
|
|
#- "traefik.frontend.rule=Host:mailman.creditcards.bayern"
|
|
|
|
#- "traefik.port=8000"
|
|
|
|
- "traefik.enable=false"
|
|
|
|
|
|
|
|
|
|
|
|
nginx:
|
|
|
|
container_name: nginx
|
|
|
|
image: nginx:mainline
|
|
|
|
restart: always
|
|
|
|
expose:
|
|
|
|
- 80
|
|
|
|
links:
|
|
|
|
- mailman-web:mailman-web
|
|
|
|
volumes:
|
|
|
|
- ./nginx/:/etc/nginx/conf.d/
|
2018-12-07 16:00:01 +00:00
|
|
|
- /data_test/mailserver/mailman/web:/opt/mailman/
|
2018-11-20 17:13:09 +00:00
|
|
|
labels:
|
|
|
|
- "traefik.frontend.rule=Host:mailman.creditcards.bayern"
|
|
|
|
- "traefik.port=80"
|
|
|
|
|
|
|
|
|
|
|
|
traefik:
|
|
|
|
container_name: traefik
|
2018-11-21 01:12:52 +00:00
|
|
|
image: traefik
|
2018-11-20 17:13:09 +00:00
|
|
|
command: --api --docker # Enables the web UI and tells Traefik to listen to docker
|
|
|
|
restart: always
|
|
|
|
ports:
|
2018-11-21 01:12:52 +00:00
|
|
|
- "80:80"
|
2018-11-20 17:13:09 +00:00
|
|
|
- "443:443"
|
2018-11-21 01:12:52 +00:00
|
|
|
- "8080:8080"
|
2018-11-20 17:13:09 +00:00
|
|
|
volumes:
|
2018-11-21 01:12:52 +00:00
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
2018-11-20 17:13:09 +00:00
|
|
|
- ./traefik/:/etc/traefik
|
|
|
|
labels:
|
|
|
|
- "traefik.frontend.rule=Host:traefik.creditcards.bayern"
|
|
|
|
|
|
|
|
extractor:
|
|
|
|
container_name: extractor
|
|
|
|
image: danielhuisman/traefik-certificate-extractor
|
|
|
|
volumes:
|
2018-12-07 16:00:01 +00:00
|
|
|
- /data_test/mailserver/traefik:/app/data
|
2018-11-20 17:13:09 +00:00
|
|
|
- certs:/app/certs_flat
|
|
|
|
labels:
|
|
|
|
- "traefik.enable=false"
|
|
|
|
|
2018-12-07 16:00:01 +00:00
|
|
|
networks:
|
|
|
|
default:
|
2018-11-20 17:13:09 +00:00
|
|
|
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
mails:
|
|
|
|
certs:
|
|
|
|
spam:
|