Skip to content

Pre-deployment preparation

Please check Getting Started

Prerequisites

  • Docker and Docker Compose are installed.

  • Currently only the Linux operating systems that support amd64 and arm64 architectures.

Docker install

Please install it according to your operating system refer to the official documentation: https://docs.docker.com/engine/install/

Start installation

Please modify during installation.envfile default information BILLIONMAIL_HOSTNAME for your domain, such e.g., mail.domain.com

Docker Compose

shell
cd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -d

View access address:

bash bm.sh default

Docker Compose .env Configuration Explanation

.env file

Configuration ItemValueDescription
ADMIN_USERNAMEbillionDefault admin username
ADMIN_PASSWORDbillionDefault admin password
SafePathbillionManagement secure entry path
HTTPS_PORT443Management interface port
BILLIONMAIL_HOSTNAMEmail.example.comPostfix hostname configuration
DBNAMEbillionmailPostgreSQL database name
DBUSERbillionmailPostgreSQL username
DBPASSNauF7ysRYyt9HTOiOn4JjIAL3QcRZnzjPostgreSQL password
REDISPASSzKLnZQr3riFpcS2lEy3MOtfncztaCGKpRedis password
SMTP_PORT25SMTP protocol port (unencrypted)
SMTPS_PORT465Encrypted SMTP port (SSL/TLS)
SUBMISSION_PORT587Mail submission port (STARTTLS)
IMAP_PORT143IMAP protocol port
IMAPS_PORT993Encrypted IMAP port
POP_PORT110POP3 protocol port
POPS_PORT995Encrypted POP3 port
HTTP_PORT80Free Certificate Verification Port
TZEtc/UTCTimezone setting (UTC)
IPV4_NETWORK172.66.1Container internal IPv4 network segment
FAIL2BAN_INITyEnable fail2ban access restrictions

HTTP_PORT: To apply for Let's Encrypt free certificates, port 80 must be used. Using other ports will cause the apply to fail.

Released under the AGPLv3 License