version: "3.9"
services:
mtaserver:
build:
context: ./docker
dockerfile: mta-postfix
image: joodii/mailserver:postfix-3.6.3
volumes:
- ./conf/postfix/main.cf:/etc/postfix/main.cf
- ./conf/postfix/master.cf:/etc/postfix/master.cf
- ./conf/postfix/pgsql:/etc/postfix/pgsql
ports:
- "25:25"
- "465:465"
links:
- dkimserver
external_links:
- postgresql:dbserver
networks:
- mail
- database
dkimserver:
build:
context: ./docker
dockerfile: opendkim
image: joodii/mailserver:opendkim-2.11.0
volumes:
- ./conf/opendkim:/etc/opendkim
networks:
- mail
mdaserver:
build:
context: ./docker
dockerfile: mda-dovecot
image: joodii/mailserver:dovecot-2.3.17.1
volumes:
- ./conf/dovecot:/etc/dovecot
- ./domains:/var/mail/domains
ports:
- 110:110
- 143:143
- 993:993
external_links:
- postgresql:dbserver
networks:
- mail
- database
webmail:
image: roundcube/roundcubemail
labels:
- "traefik.enable=true"
- "traefik.http.routers.webmail.rule=Host(`mail.joodii.cn`)"
- "traefik.http.routers.webmail.tls=true"
- "traefik.http.routers.webmail.middlewares=webmail-mw"
- "traefik.http.middlewares.webmail-mw.compress=true"
- "traefik.http.services.webmail.loadbalancer.server.port=80"
environment:
- ROUNDCUBEMAIL_DEFAULT_HOST=mdaserver
- ROUNDCUBEMAIL_DEFAULT_PORT=143
- ROUNDCUBEMAIL_SMTP_SERVER=mtaserver
- ROUNDCUBEMAIL_SMTP_PORT=25
- ROUNDCUBEMAIL_UPLOAD_MAX_FILESIZE=1024M
volumes:
- ./roundcube:/var/roundcube
ports:
- 8000:80
links:
- mdaserver
- mtaserver
depends_on:
- mdaserver
- mtaserver
networks:
- mail
- traefik
postfixadmin:
image: postfixadmin:3.3.10-apache
labels:
- "traefik.enable=true"
- "traefik.http.routers.postfixadmin.rule=Host(`postfixadmin.joodii.cn`)"
- "traefik.http.routers.postfixadmin.tls=true"
- "traefik.http.routers.postfixadmin.middlewares=postfixadmin-mw"
- "traefik.http.middlewares.postfixadmin-mw.compress=true"
- "traefik.http.services.postfixadmin.loadbalancer.server.port=80"
environment:
- POSTFIXADMIN_SETUP_PASSWORD=${POSTFIXADMIN_SETUP_PASSWORD}
- POSTFIXADMIN_DB_TYPE=pgsql
- POSTFIXADMIN_DB_HOST=dbserver
- POSTFIXADMIN_DB_USER=${POSTGRES_USER}
- POSTFIXADMIN_DB_PASSWORD=${POSTGRES_PASSWORD}
- POSTFIXADMIN_DB_NAME=postfix
- POSTFIXADMIN_SMTP_SERVER=${POSTFIXADMIN_SMTP_SERVER}
- POSTFIXADMIN_SMTP_PORT=${POSTFIXADMIN_SMTP_PORT}
restart: unless-stopped
ports:
- 8080:80
links:
- mtaserver
external_links:
- postgresql:dbserver
networks:
- mail
- database
- traefik
networks:
mail:
external: true
database:
external: true
traefik:
external: true
Content type
Image
Digest
sha256:fc51320cd…
Size
17.7 MB
Last updated
about 4 years ago
docker pull joodii/mailserver:postfix-3.6.3