services: stalwart: image: stalwartlabs/stalwart:v0.16@sha256:93c574e52249c1ebf90061da2c4c0756a7b72abfcc1fec34506a03c2e38b5977 container_name: ${PROJECT_NAME:-eternitymail}-stalwart restart: unless-stopped security_opt: - no-new-privileges:true cap_drop: - ALL cap_add: - NET_BIND_SERVICE environment: STALWART_RECOVERY_ADMIN: ${STALWART_RECOVERY_ADMIN} ports: - "${STALWART_SMTP_PORT:-25}:25/tcp" - "${STALWART_SUBMISSION_PORT:-587}:587/tcp" - "${STALWART_IMAPS_PORT:-993}:993/tcp" - "${STALWART_ADMIN_BIND-127.0.0.1}:${STALWART_ADMIN_PORT:-8081}:8080/tcp" volumes: - ${DATA_ROOT:-/opt/eternitymail}/stalwart/etc:/etc/stalwart - ${DATA_ROOT:-/opt/eternitymail}/stalwart/data:/var/lib/stalwart - ${DATA_ROOT:-/opt/eternitymail}/stalwart/certs:/etc/stalwart/certs:ro networks: eternitymail: aliases: - ${MAIL_HOSTNAME} roundcube-db: image: mariadb:11.8-noble@sha256:2d2f4095530294735a857cfe22bb101e19b0849b416911c796ec4aa81b164a62 container_name: ${PROJECT_NAME:-eternitymail}-roundcube-db restart: unless-stopped security_opt: - no-new-privileges:true environment: MARIADB_DATABASE: ${RC_DB_NAME:-roundcube} MARIADB_USER: ${RC_DB_USER:-roundcube} MARIADB_PASSWORD: ${RC_DB_PASSWORD} MARIADB_ROOT_PASSWORD: ${RC_DB_ROOT_PASSWORD} volumes: - ${DATA_ROOT:-/opt/eternitymail}/roundcube-db:/var/lib/mysql networks: - eternitymail healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 10 start_period: 20s roundcube: image: roundcube/roundcubemail:1.7.4-apache@sha256:8a4f88846145c6c8801654d9c3b330071e162f0110b64d08af8e94aca50ffb89 container_name: ${PROJECT_NAME:-eternitymail}-roundcube restart: unless-stopped security_opt: - no-new-privileges:true depends_on: roundcube-db: condition: service_healthy ports: - "${ROUNDCUBE_BIND-127.0.0.1}:${ROUNDCUBE_PORT:-8091}:80" volumes: - ${DATA_ROOT:-/opt/eternitymail}/roundcube-config:/var/roundcube/config:ro - ${ROUNDCUBE_SKIN_PATH:-../ep-roundcube-skin/eternity}:/var/www/html/skins/${ROUNDCUBE_SKIN_NAME:-eternity}:ro environment: ROUNDCUBEMAIL_DB_TYPE: mysql ROUNDCUBEMAIL_DB_HOST: roundcube-db ROUNDCUBEMAIL_DB_PORT: 3306 ROUNDCUBEMAIL_DB_NAME: ${RC_DB_NAME:-roundcube} ROUNDCUBEMAIL_DB_USER: ${RC_DB_USER:-roundcube} ROUNDCUBEMAIL_DB_PASSWORD: ${RC_DB_PASSWORD} ROUNDCUBEMAIL_DES_KEY: ${RC_DES_KEY} ROUNDCUBEMAIL_DEFAULT_HOST: ssl://${MAIL_HOSTNAME} ROUNDCUBEMAIL_DEFAULT_PORT: 993 ROUNDCUBEMAIL_SMTP_SERVER: tls://${MAIL_HOSTNAME} ROUNDCUBEMAIL_SMTP_PORT: 587 ROUNDCUBEMAIL_USERNAME_DOMAIN: ${MAIL_DOMAIN} ROUNDCUBEMAIL_SKIN: ${ROUNDCUBE_SKIN_NAME:-eternity} ROUNDCUBEMAIL_PLUGINS: archive,zipdownload,newmail_notifier ROUNDCUBEMAIL_UPLOAD_MAX_FILESIZE: 50M networks: - eternitymail networks: eternitymail: name: ${PROJECT_NAME:-eternitymail}