- Initial release,

- Based on rx3-docker/php-apache:1.7.0-mga9 & rx3-docker/postgresql:1.2.0-mga9 images,
- Use roundcubemail 1.6.18 from Mageia RPM.
This commit is contained in:
2026-10-04 22:30:42 +02:00
commit eccbb2496c
15 changed files with 472 additions and 0 deletions

132
compose.yaml Normal file
View File

@@ -0,0 +1,132 @@
# Rx3-Docker/RoundCubeMail Docker Image
#-------------------------------------------------------------------------------
name: ${HOST_NAME_PREFIX}
services:
#-------------------------------------------------------------------------------
database:
container_name: ${DB_HOST_NAME}
hostname: ${DB_HOST_NAME}
image: ${DB_IMG_URL}
restart: unless-stopped
environment:
POSTGRESQL_UID: ${DB_USER_ID}
POSTGRESQL_GID: ${DB_GROUP_ID}
POSTGRESQL_POSTGRES_PASSWORD: ${DB_POSTGRES_PASSWORD}
POSTGRESQL_DATABASE: ${DB_NAME}
POSTGRESQL_USER: ${DB_USER}
POSTGRESQL_PASSWORD: ${DB_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${DB_USER} -d ${DB_NAME}'"]
interval: 10s
timeout: 3s
retries: 3
volumes:
- ./${DB_LIB_EXT}:${DB_LIB_INT}
- ./${DB_LOG_INIT_EXT}:${DB_LOG_INIT_INT}
- ./${DB_LOG_SV_EXT}:${DB_LOG_SV_INT}
- ./${DB_LOG_MAIN_EXT}:${DB_LOG_MAIN_INT}
networks:
- appl
# ports:
# - "127.0.0.1:${DB_PORT_SV_EXT}:${DB_PORT_SV_INT}"
# - "127.0.0.1:${DB_PORT_MAIN_EXT}:${DB_PORT_MAIN_INT}"
#-------------------------------------------------------------------------------
webapp:
container_name: ${WA_HOST_NAME}
hostname: ${WA_HOST_NAME}
image: ${WA_IMG_URL}
build:
args:
IMG_NAME: ${WA_IMG_URL}
IMG_NAME_FULL: ${WA_IMG_NAME_FULL}
IMG_VERSION: ${WA_IMG_VERSION}
IMG_MAINTAINER: ${WA_IMG_MAINTAINER}
IMG_URL: ${WA_IMG_URL}
IMG_FROM_URL: ${WA_IMG_FROM_URL}
APACHE_DOC_ROOT: ${WA_DOC_ROOT}
APACHE_LOG_DIR: ${WA_LOG_MAIN_INT}
APACHE_PORT: ${WA_PORT_MAIN_INT}
restart: unless-stopped
depends_on:
database:
condition: service_healthy
environment:
SERVER_CROND_ENABLED: ${WA_CROND_ENABLED}
APACHE_UID: ${WA_USER_ID}
APACHE_GID: ${WA_GROUP_ID}
APACHE_DOC_ROOT: ${WA_DOC_ROOT}
APACHE_HTTPD_ENABLED: ${WA_APACHE_HTTPD_ENABLED}
PHP_MEMORY_LIMIT: ${WA_PHP_MEMORY_LIMIT}
PHP_UPLOAD_LIMIT: ${WA_PHP_UPLOAD_LIMIT}
RCM_DB_DSN: pgsql://${DB_USER}:${DB_PASSWORD}@${DB_HOST_NAME}:${DB_PORT_MAIN_INT}/${DB_NAME}
RCM_SMTP_SERVICE: ${WA_SMTP_SERVICE}
RCM_IMAP_SERVICE: ${WA_IMAP_SERVICE}
RCM_CARDDAV_URL: ${WA_CARDDAV_URL}
RCM_CARDDAV_NAME: ${WA_CARDDAV_NAME}
RCM_CALDAV_URL: ${WA_CALDAV_URL}
RCM_CALDAV_SHARED: ${WA_CALDAV_SHARED}
RCM_SERVER_NAME: ${WA_RCM_SERVER_NAME}
RCM_CONFIG_ENABLED: ${WA_RCM_CONFIG_ENABLED}
RCM_URL: ${WA_RCM_URL}
SMTP_SERVER: ${WA_SMTP_SERVER}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:${WA_PORT_MAIN_INT}"]
interval: 10s
timeout: 3s
retries: 3
volumes:
- ./${WA_LIB_EXT}:${WA_LIB_INT}
- ./${WA_LOG_INIT_EXT}:${WA_LOG_INIT_INT}
- ./${WA_LOG_SV_EXT}:${WA_LOG_SV_INT}
- ./${WA_LOG_HTTPD_EXT}:${WA_LOG_HTTPD_INT}
- ./${WA_LOG_MAIN_EXT}:${WA_LOG_MAIN_INT}
- ./${WA_RCM_CONFIG_EXT}:${WA_RCM_CONFIG_INT}
networks:
- appl
ports:
- "127.0.0.1:${WA_PORT_SV_EXT}:${WA_PORT_SV_INT}"
- "127.0.0.1:${WA_PORT_MAIN_EXT}:${WA_PORT_MAIN_INT}"
#-------------------------------------------------------------------------------
networks:
appl:
name: ${NETWORK_NAME}
driver: bridge
driver_opts:
com.docker.network.bridge.name: ${NETWORK_IF_NAME}
# ipam:
# config:
# - subnet: 10.2.33.0/24
# gateway: 10.2.33.254
# internal:
# name: mantisbt-squashtm-internal
# external: true