1
0
Fork 0
1Panel-Appstore/apps/billion-mail/4.9.0/docker-compose.yml

158 lines
5.5 KiB
YAML

name: billionmail
services:
core-billionmail:
image: billionmail/core:4.9.0
container_name: ${CONTAINER_NAME}
hostname: billionmail-core-manage
volumes:
- ${CORE_DATA_PATH}/ssl:/etc/ssl/mail
- ${CORE_DATA_PATH}/ssl-self-signed:/etc/ssl/ssl-self-signed
- ${CORE_DATA_PATH}/conf/core/fail2ban/filter.d:/etc/fail2ban/filter.d
- ${CORE_DATA_PATH}/conf/core/fail2ban/jail.d:/etc/fail2ban/jail.d
- ${CORE_DATA_PATH}/logs/fail2ban:/var/log/fail2ban
- ${CORE_DATA_PATH}/postgresql-socket:/opt/billionmail/postgresql-socket
- ${CORE_DATA_PATH}/php-sock:/opt/billionmail/php-sock
- ${CORE_DATA_PATH}/rspamd-data:/opt/billionmail/rspamd-data
- ${CORE_DATA_PATH}/webmail-data:/opt/billionmail/webmail-data
- ${CORE_DATA_PATH}/.env:/opt/billionmail/.env
- ${CORE_DATA_PATH}/conf:/opt/billionmail/conf
- ${CORE_DATA_PATH}/logs:/opt/billionmail/logs
- ${CORE_DATA_PATH}/logs/core:/opt/billionmail/core/logs
- ${CORE_DATA_PATH}/core-data:/opt/billionmail/core/data
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- TZ=${TZ}
- FAIL2BAN_INIT=${FAIL2BAN_INIT:-y}
cap_add:
- NET_BIND_SERVICE
- NET_ADMIN
- NET_RAW
ports:
- ${HTTP_PORT}:80
- ${HTTPS_PORT}:443
restart: always
networks:
- 1panel-network
rspamd-billionmail:
image: billionmail/rspamd:1.2
container_name: ${CONTAINER_NAME}-rspamd
hostname: billionmail-rspamd
environment:
- TZ=${TZ}
- REDISPASS=${REDISPASS}
- RETENTION_DAYS=${RETENTION_DAYS:-7}
volumes:
- ${RSPAMD_DATA_PATH}/conf/rspamd/local.d:/etc/rspamd/local.d
- ${RSPAMD_DATA_PATH}/conf/rspamd/statistic.conf:/etc/rspamd/statistic.conf
- ${RSPAMD_DATA_PATH}/conf/rspamd/rspamd.conf:/etc/rspamd/rspamd.conf
- ${RSPAMD_DATA_PATH}/rspamd-data:/var/lib/rspamd
- ${RSPAMD_DATA_PATH}/logs/rspamd:/var/log/rspamd
restart: always
networks:
- 1panel-network
dovecot-billionmail:
image: billionmail/dovecot:1.6
container_name: ${CONTAINER_NAME}-dovecot
hostname: billionmail-dovecot
cap_add:
- NET_BIND_SERVICE
volumes:
- ${DOCECOT_DATA_PATH}/conf/dovecot/conf.d:/etc/dovecot/conf.d
- ${DOCECOT_DATA_PATH}/conf/dovecot/dovecot.conf:/etc/dovecot/dovecot.conf
- ${DOCECOT_DATA_PATH}/conf/dovecot/rsyslog.conf:/etc/rsyslog.conf
- ${DOCECOT_DATA_PATH}/logs/dovecot:/var/log/mail
- ${DOCECOT_DATA_PATH}/ssl:/etc/ssl/mail
- ${DOCECOT_DATA_PATH}/ssl-self-signed:/etc/ssl/ssl-self-signed
- ${DOCECOT_DATA_PATH}/vmail-data:/var/vmail
- ${DOCECOT_DATA_PATH}/rspamd-data:/var/lib/rspamd
- ${DOCECOT_DATA_PATH}/postgresql-socket:/var/run/postgresql
environment:
- DBNAME=${DBNAME}
- DBUSER=${DBUSER}
- DBPASS=${DBPASS}
- TZ=${TZ}
- BILLIONMAIL_HOSTNAME=${BILLIONMAIL_HOSTNAME}
- REDISPASS=${REDISPASS}
- RETENTION_DAYS=${RETENTION_DAYS:-7}
ports:
- "${IMAP_PORT}:143"
- "${IMAPS_PORT:-993}:993"
- "${POP_PORT:-110}:110"
- "${POPS_PORT:-995}:995"
restart: always
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000
networks:
- 1panel-network
postfix-billionmail:
image: billionmail/postfix:1.6
container_name: ${CONTAINER_NAME}-postfix
hostname: billionmail-postfix
volumes:
- ${POSTFIX_DATA_PATH}/conf/postfix/main.cf:/etc/postfix/main.cf
- ${POSTFIX_DATA_PATH}/conf/postfix/master.cf:/etc/postfix/master.cf
- ${POSTFIX_DATA_PATH}/conf/postfix/conf:/etc/postfix/conf
- ${POSTFIX_DATA_PATH}/conf/postfix/sql:/etc/postfix/sql
- ${POSTFIX_DATA_PATH}/conf/postfix/rsyslog.conf:/etc/rsyslog.conf
- ${POSTFIX_DATA_PATH}/logs/postfix:/var/log/mail
- ${POSTFIX_DATA_PATH}/ssl:/etc/ssl/mail
- ${POSTFIX_DATA_PATH}/postfix-data:/var/spool/postfix
- ${POSTFIX_DATA_PATH}/rspamd-data:/var/lib/rspamd
- ${POSTFIX_DATA_PATH}/postgresql-socket:/var/run/postgresql
environment:
- TZ=${TZ}
- DBNAME=${DBNAME}
- DBUSER=${DBUSER}
- DBPASS=${DBPASS}
- REDISPASS=${REDISPASS}
- BILLIONMAIL_HOSTNAME=${BILLIONMAIL_HOSTNAME}
- RETENTION_DAYS=${RETENTION_DAYS:-7}
cap_add:
- NET_BIND_SERVICE
ports:
- "${SMTP_PORT}:25"
- "${SMTPS_PORT}:465"
- "${SUBMISSION_PORT}:587"
restart: always
networks:
- 1panel-network
webmail-billionmail:
image: roundcube/roundcubemail:1.6.13-fpm-alpine
container_name: ${CONTAINER_NAME}-roundcube
hostname: billionmail-roundcube
depends_on:
- dovecot-billionmail
- postfix-billionmail
volumes:
- ${ROUNDCUBE_DATA_PATH}/webmail-data:/var/www/html
- ${ROUNDCUBE_DATA_PATH}/conf/webmail/mime.types:/var/roundcube/config/mime.types
- ${ROUNDCUBE_DATA_PATH}/conf/webmail:/var/roundcube/config
- ${ROUNDCUBE_DATA_PATH}/conf/php:/usr/local/etc
- ${ROUNDCUBE_DATA_PATH}/php-sock/:/var/run/
environment:
- TZ=${TZ}
- ROUNDCUBEMAIL_DB_TYPE=pgsql
- ROUNDCUBEMAIL_DB_HOST=pgsql
- ROUNDCUBEMAIL_DB_NAME=${DBNAME}
- ROUNDCUBEMAIL_DB_USER=${DBUSER}
- ROUNDCUBEMAIL_DB_PASSWORD=${DBPASS}
- ROUNDCUBEMAIL_DEFAULT_HOST=dovecot
- ROUNDCUBEMAIL_DEFAULT_PORT=${IMAP_PORT}
- ROUNDCUBEMAIL_SMTP_SERVER=postfix
- ROUNDCUBEMAIL_SMTP_PORT=${SMTP_PORT}
- ROUNDCUBEMAIL_REQUEST_PATH=/roundcube
restart: always
networks:
- 1panel-network
networks:
1panel-network:
external: true