- 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:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*~
|
||||||
|
*.old
|
||||||
143
Dockerfile
Normal file
143
Dockerfile
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
# Rx3-Docker/RoundCubeMail Dockerfile
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ARG IMG_FROM_URL="rx3-docker/php-apache:latest"
|
||||||
|
|
||||||
|
FROM ${IMG_FROM_URL}
|
||||||
|
|
||||||
|
ARG IMG_NAME
|
||||||
|
ARG IMG_NAME_FULL
|
||||||
|
ARG IMG_VERSION
|
||||||
|
ARG IMG_MAINTAINER
|
||||||
|
ARG IMG_URL
|
||||||
|
|
||||||
|
LABEL org.rx3.${IMG_NAME}.name=${IMG_NAME_FULL}
|
||||||
|
LABEL org.rx3.${IMG_NAME}.version=${IMG_VERSION}
|
||||||
|
LABEL org.rx3.${IMG_NAME}.maintainer=${IMG_MAINTAINER}
|
||||||
|
LABEL maintainer=${IMG_MAINTAINER}
|
||||||
|
|
||||||
|
ARG HTTPD_VHOST_CONFIG_DIR=/etc/httpd/conf/sites.d/default_vhost.d
|
||||||
|
ARG RCM_HTTPD_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/70-roundcubemail.conf
|
||||||
|
ARG RCM_SHARE_DIR=/usr/share/roundcubemail
|
||||||
|
ARG RCM_PLUGINS_DIR=${RCM_SHARE_DIR}/plugins
|
||||||
|
ARG RCM_LIB_DIR=/var/lib/roundcubemail
|
||||||
|
ARG RCM_ENIGMA_DIR=${RCM_LIB_DIR}/plugins/enigma
|
||||||
|
ARG RCM_CONFIG_DIR=/etc/roundcubemail
|
||||||
|
ARG RCM_CONFIG_FILE=${RCM_CONFIG_DIR}/config.inc.php
|
||||||
|
ARG RCM_LOG_DIR=/var/log/roundcubemail
|
||||||
|
ARG RCM_PLUGINS_CARDAV_URL=https://mirror.rx3.net/external/roundcubemail/carddav-v5.1.4.tar.gz
|
||||||
|
ARG RCM_PLUGINS_LIBKOLAB_URL=https://mirror.rx3.net/external/roundcubemail/libkolab-3.6.1.tar.gz
|
||||||
|
ARG RCM_PLUGINS_LIBCALENDARING_URL=https://mirror.rx3.net/external/roundcubemail/libcalendaring-3.6.1.tar.gz
|
||||||
|
ARG RCM_PLUGINS_CALENDAR_URL=https://mirror.rx3.net/external/roundcubemail/calendar-3.6.0-2rx3.tar.gz
|
||||||
|
ARG RCM_FIX_PATH=/usr/share/roundcubemail/vendor/pear/pear-core-minimal/src
|
||||||
|
ARG RCM_PEAR_PATH=/usr/share/pear
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
ARG ROUNDCUBEMAIL='#!/bin/bash \n\
|
||||||
|
\n\
|
||||||
|
if [[ ! -f '${RCM_CONFIG_FILE}' ]] \n\
|
||||||
|
then \n\
|
||||||
|
cp -Rf '${RCM_CONFIG_DIR}.ref/*' '${RCM_CONFIG_DIR}' \n\
|
||||||
|
\n\
|
||||||
|
sed -i -e "s%RCM_CONFIG_DSN%${RCM_DB_DSN}%" '${RCM_CONFIG_FILE}' \n\
|
||||||
|
sed -i -e "s%RCM_CONFIG_SMTP%${RCM_SMTP_SERVICE}%" '${RCM_CONFIG_FILE}' \n\
|
||||||
|
sed -i -e "s%RCM_CONFIG_IMAP%${RCM_IMAP_SERVICE}%" '${RCM_CONFIG_FILE}' \n\
|
||||||
|
sed -i -e "s%RCM_CONFIG_NAME%${RCM_SERVER_NAME}%" '${RCM_CONFIG_FILE}' \n\
|
||||||
|
\n\
|
||||||
|
if [[ "${RCM_CONFIG_ENABLED}" == "TRUE" ]] \n\
|
||||||
|
then \n\
|
||||||
|
for dir in . plugins/libkolab plugins/calendar/drivers/caldav \n\
|
||||||
|
do \n\
|
||||||
|
'${RCM_SHARE_DIR}'/bin/initdb.sh --dir='${RCM_SHARE_DIR}'/${dir}/SQL \n\
|
||||||
|
done \n\
|
||||||
|
fi \n\
|
||||||
|
fi \n\
|
||||||
|
\n\
|
||||||
|
if [[ ! -f '${RCM_ENIGMA_DIR}' ]] \n\
|
||||||
|
then \n\
|
||||||
|
mkdir -p '${RCM_ENIGMA_DIR}' \n\
|
||||||
|
fi \n\
|
||||||
|
\n\
|
||||||
|
chown -R apache:apache '${RCM_LIB_DIR}' '${RCM_CONFIG_DIR}' '${RCM_LOG_DIR}' \n\
|
||||||
|
chmod -R a-x,a+X '${RCM_LIB_DIR}' '${RCM_CONFIG_DIR}' '${RCM_LOG_DIR}' \n\
|
||||||
|
chmod o-rwx '${RCM_LIB_DIR}' '${RCM_CONFIG_DIR}' '${RCM_LOG_DIR}' \n\
|
||||||
|
\n\
|
||||||
|
cp -f '${RCM_HTTPD_CONFIG_FILE}.ref' '${RCM_HTTPD_CONFIG_FILE}' \n\
|
||||||
|
\n\
|
||||||
|
sed -i -e "s%RCM_URL%${RCM_URL}%g" '${RCM_HTTPD_CONFIG_FILE}' \n\
|
||||||
|
\n\
|
||||||
|
sed -i -e "s/\$config\[`enable_installer`\] = .*;/RCM_CONFIG_INSTALL/" '${RCM_CONFIG_FILE}' \n\
|
||||||
|
\n\
|
||||||
|
if [[ "${RCM_CONFIG_ENABLED}" == "TRUE" ]] \n\
|
||||||
|
then \n\
|
||||||
|
sed -i -e "s/RCM_CONFIG_AUTH/all granted/" '${RCM_HTTPD_CONFIG_FILE}' \n\
|
||||||
|
sed -i -e "s/RCM_CONFIG_INSTALL/\$config[`enable_installer`] = true;/" '${RCM_CONFIG_FILE}' \n\
|
||||||
|
else \n\
|
||||||
|
sed -i -e "s/RCM_CONFIG_AUTH/local/" '${RCM_HTTPD_CONFIG_FILE}' \n\
|
||||||
|
sed -i -e "s/RCM_CONFIG_INSTALL/\$config[`enable_installer`] = false;/" '${RCM_CONFIG_FILE}' \n\
|
||||||
|
fi \n\
|
||||||
|
\n\
|
||||||
|
echo -n "\$prefs[`default`] = [ `accountname` => `${RCM_CARDDAV_NAME}`, `username` => `%u`, " >> '${RCM_CONFIG_DIR}'/carddav.inc.php \n\
|
||||||
|
echo "`password` => `%p`, `discovery_url` => `${RCM_CARDDAV_URL}`, ];" >> '${RCM_CONFIG_DIR}'/carddav.inc.php \n\
|
||||||
|
\n\
|
||||||
|
sed -i -e "s%RCM_CALDAV_HOST%${RCM_CALDAV_URL}%" '${RCM_CONFIG_DIR}'/calendar.inc.php \n\
|
||||||
|
\n\
|
||||||
|
if [[ "${RCM_CALDAV_SHARED}" != "" ]] \n\
|
||||||
|
then \n\
|
||||||
|
shared_config="\$config[`calendar_caldav_preinstalled_sources`] = [ " \n\
|
||||||
|
\n\
|
||||||
|
for share in ${RCM_CALDAV_SHARED} \n\
|
||||||
|
do \n\
|
||||||
|
shared_config+="`${share/:*/}` => [ `caldav_user` => `%u`, `caldav_pass` => `%p`, " \n\
|
||||||
|
shared_config+="`caldav_url` => `${RCM_CALDAV_URL}${share/*:/}`, `showAlarms` => 0, ]," \n\
|
||||||
|
done \n\
|
||||||
|
\n\
|
||||||
|
shared_config+=" ];" \n\
|
||||||
|
\n\
|
||||||
|
sed -i -e "s*// RCM_CALDAV_SHARED*${shared_config}*" '${RCM_CONFIG_DIR}'/calendar.inc.php \n\
|
||||||
|
fi \n\
|
||||||
|
\n\
|
||||||
|
sed -i -e "s%mailhub=mail%mailhub=${SMTP_SERVER}%" /etc/ssmtp/ssmtp.conf'
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RUN . /etc/profile.d/rx3.sh && isl --add ${IMG_URL} \
|
||||||
|
&& urpmi.update -a \
|
||||||
|
&& urpmi --force wget ssmtp roundcubemail php-zip php-imagick php-xmlreader php-xmlwriter gnupg2 unzip composer \
|
||||||
|
&& wget -q -O- "${RCM_PLUGINS_CARDAV_URL}" | tar xzf - -C "${RCM_PLUGINS_DIR}" \
|
||||||
|
&& wget -q -O- "${RCM_PLUGINS_LIBKOLAB_URL}" | tar xzf - -C "${RCM_PLUGINS_DIR}" \
|
||||||
|
&& wget -q -O- "${RCM_PLUGINS_LIBCALENDARING_URL}" | tar xzf - -C "${RCM_PLUGINS_DIR}" \
|
||||||
|
&& wget -q -O- "${RCM_PLUGINS_CALENDAR_URL}" | tar xzf - -C "${RCM_PLUGINS_DIR}" \
|
||||||
|
&& cp "${RCM_PLUGINS_DIR}/carddav/config.inc.php.dist" "${RCM_CONFIG_DIR}/carddav.inc.php" \
|
||||||
|
&& ln -s "${RCM_CONFIG_DIR}/carddav.inc.php" "${RCM_PLUGINS_DIR}/carddav/config.inc.php" \
|
||||||
|
&& cp "${RCM_PLUGINS_DIR}/calendar/config.inc.php.dist" "${RCM_CONFIG_DIR}/calendar.inc.php" \
|
||||||
|
&& mkdir -p "${RCM_ENIGMA_DIR}" \
|
||||||
|
&& mkdir -p "${RCM_FIX_PATH}"/PEAR \
|
||||||
|
&& mkdir -p "${RCM_FIX_PATH}"/OS \
|
||||||
|
&& ln -sf "${RCM_PEAR_PATH}"/PEAR.php "${RCM_FIX_PATH}"/PEAR.php \
|
||||||
|
&& ln -sf "${RCM_PEAR_PATH}"/PEAR/ErrorStack.php "${RCM_FIX_PATH}"/PEAR/ErrorStack.php \
|
||||||
|
&& ln -sf "${RCM_PEAR_PATH}"/System.php "${RCM_FIX_PATH}"/System.php \
|
||||||
|
&& ln -sf "${RCM_PEAR_PATH}"/OS/Guess.php "${RCM_FIX_PATH}"/OS/Guess.php \
|
||||||
|
&& composer require pear/http_request2 -d "${RCM_SHARE_DIR}" \
|
||||||
|
&& mv /etc/httpd/conf/sites.d/roundcubemail.conf "${RCM_HTTPD_CONFIG_FILE}.ref" \
|
||||||
|
&& sed -i -e "s%Alias /roundcubemail%Alias RCM_URL%" -e "s/Require local/Require RCM_CONFIG_AUTH/" "${RCM_HTTPD_CONFIG_FILE}.ref" \
|
||||||
|
&& sed -i -e "s/^\$config\['db_dsnw'\].*/\$config['db_dsnw'] = 'RCM_CONFIG_DSN';/" "${RCM_CONFIG_FILE}" \
|
||||||
|
&& sed -i -e "s/^\$config\['smtp_host'\].*/\$config['smtp_host'] = 'RCM_CONFIG_SMTP';/" "${RCM_CONFIG_FILE}" \
|
||||||
|
&& sed -i -e "s/^\$config\['imap_host'\].*/\$config['imap_host'] = 'RCM_CONFIG_IMAP';/" "${RCM_CONFIG_FILE}" \
|
||||||
|
&& sed -i -e "s/^\$config\['product_name'\].*/\$config['product_name'] = 'RCM_CONFIG_NAME';/" "${RCM_CONFIG_FILE}" \
|
||||||
|
&& sed -i -e "s%^\$config\['enigma_pgp_homedir'\].*%\$config['enigma_pgp_homedir'] = '${RCM_ENIGMA_DIR}';%" "${RCM_CONFIG_DIR}/enigma.inc.php" \
|
||||||
|
&& sed -i -e "/^ 'archive',/a\ 'http_authentication',\n 'libcalendaring',\n 'password'," "${RCM_CONFIG_FILE}" \
|
||||||
|
&& sed -i -e "/^ 'archive',/a\ 'calendar',\n 'carddav',\n 'emoticons',\n 'enigma'," "${RCM_CONFIG_FILE}" \
|
||||||
|
&& echo -e "\n\$config['htmleditor'] = 4;" >> "${RCM_CONFIG_FILE}" \
|
||||||
|
&& echo -e "\n\$config['enable_installer'] = false;" >> "${RCM_CONFIG_FILE}" \
|
||||||
|
&& sed -i -e "s%https://www.domain.com/rounddav/public/%RCM_CALDAV_HOST%" "${RCM_CONFIG_DIR}/calendar.inc.php" \
|
||||||
|
&& sed -i -e "s%\$config\['calendar_caldav_url'\]%// \$config['calendar_caldav_url']%" "${RCM_CONFIG_DIR}/calendar.inc.php" \
|
||||||
|
&& sed -i -e "s%// default calendar view%// RCM_CALDAV_SHARED\n\n// default calendar view%" "${RCM_CONFIG_DIR}/calendar.inc.php" \
|
||||||
|
&& sed -i -e "s/\$config\['calendar_first_day'\] = 0;/\$config['calendar_first_day'] = 1;/" "${RCM_CONFIG_DIR}/calendar.inc.php" \
|
||||||
|
&& mv "${RCM_CONFIG_DIR}" "${RCM_CONFIG_DIR}.ref" \
|
||||||
|
&& echo -e "${ROUNDCUBEMAIL}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/roundcubemail \
|
||||||
|
&& chmod a+x /etc/init.d/roundcubemail \
|
||||||
|
&& ln -s /etc/init.d/roundcubemail /etc/rcD.d/S40roundcubemail
|
||||||
24
ReadMe.txt
Normal file
24
ReadMe.txt
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Welcome to Rx3-Docker/RoundCubeMail docker image!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
This project aims to build a RoundCubeMail docker image.
|
||||||
|
|
||||||
|
Features:
|
||||||
|
- Curtently based on rx3-docker/php-apache:1.7.0-mga9 & rx3-docker/postgresql:1.2.0-mga9 images,
|
||||||
|
- Sync with RoundCubeMail V 1.6.18 RPM,
|
||||||
|
- Add the following plugins:
|
||||||
|
- CardDav (RCMCardDAV) V 5.4.1,
|
||||||
|
- Calendar (texxasrulez) V 3.6.0 with CalDav support & Rx3 shared calendar patch V 2,
|
||||||
|
- LibCalendaring V 3.6.1,
|
||||||
|
- LibKolab V 3.6.1.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Enjoy it!
|
||||||
|
|
||||||
|
Your Rx3 Team.
|
||||||
|
|
||||||
|
--
|
||||||
|
arnaud@rx3.net
|
||||||
|
https://git.rx3.org/gitea/rx3-docker/roundcubemail
|
||||||
7
ReleaseNotes.txt
Normal file
7
ReleaseNotes.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
Rx3-Docker/RoundCubeMail V 1.0.0 - A. GIBERT - 2026/10/04
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- 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.
|
||||||
132
compose.yaml
Normal file
132
compose.yaml
Normal 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
|
||||||
128
env.dist
Normal file
128
env.dist
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# Rx3-Docker/RoundCubeMail Docker Image
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# Global Settings
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ORG_NAME="rx3-docker"
|
||||||
|
ORG_REGISTRY="docker.xor.rx3:5000"
|
||||||
|
ORG_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
|
||||||
|
|
||||||
|
ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# Image Settings
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
APPL_NAME="roundcubemail"
|
||||||
|
APPL_NAME_FULL="RoundCubeMail"
|
||||||
|
APPL_NAME_SHORT="rcm"
|
||||||
|
APPL_ORG="rx3-docker"
|
||||||
|
APPL_VERSION="1.0.0"
|
||||||
|
APPL_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# User Settings
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#APPL_ENV="prd"
|
||||||
|
#APPL_ENV="tst"
|
||||||
|
#APPL_ENV="int"
|
||||||
|
APPL_ENV="dvp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# Common
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if [[ "${APPL_ENV}" != "prd" ]] && [[ "${APPL_ENV}" != "dvp" ]]
|
||||||
|
then
|
||||||
|
APPL_SUFFIX="-${APPL_ENV}"
|
||||||
|
PORT_ENV_OFFSET=100
|
||||||
|
else
|
||||||
|
APPL_SUFFIX=""
|
||||||
|
PORT_ENV_OFFSET=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}"
|
||||||
|
APPL_URL_PREFIX="${ORG_REGISTRY}/${APPL_ORG}/${APPL_NAME_SHORT}"
|
||||||
|
|
||||||
|
HOST_NAME_PREFIX=${APPL_NAME_SHORT}${APPL_SUFFIX}
|
||||||
|
|
||||||
|
PORT_SV_INT=9001
|
||||||
|
PORT_SV_OFFSET=1000
|
||||||
|
|
||||||
|
NETWORK_NAME=${HOST_NAME_PREFIX}
|
||||||
|
NETWORK_IF_NAME=br-${HOST_NAME_PREFIX}
|
||||||
|
|
||||||
|
DOCKER_TOOLS_DEBUG=FALSE
|
||||||
|
#DOCKER_TOOLS_VOLUME=SINGLE
|
||||||
|
DOCKER_TOOLS_VOLUME=MIXED
|
||||||
|
#DOCKER_TOOLS_VOLUME=MERGED
|
||||||
|
#DOCKER_TOOLS_VOLUME=SPLITED
|
||||||
|
DOCKER_TOOLS_EXEPTION_LIBS="postgres:pgsql httpd:/var/www/html"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+----------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||||
|
# | Variable | Service | Target Image | From Image | Module | Main Port | Admin Port | User | Group |
|
||||||
|
# | Prefix | Name | URL Prefix | Name | Name Full | Version | URL Prefix | Name | Version | Name | Version | Ext | Int | Ext | Int | Name / Id | Name / Id |
|
||||||
|
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+----------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||||
|
|
||||||
|
docker_service_add DB database ${ORG_URL_PREFIX} postgresql - 1.2.0-mga9 - - - postgres - - 5432 - - postgres postgres
|
||||||
|
|
||||||
|
docker_service_add WA webapp ${ORG_URL_PREFIX} roundcubemail "Rx3-Docker/RoundCubeMail" ${APPL_VERSION}-mga9 ${ORG_URL_PREFIX} php-apache 1.7.0-mga9 - - 8081 80 - - apache apache
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# Database
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
DB_POSTGRES_PASSWORD="postgresadmin"
|
||||||
|
DB_NAME="roundcubemail"
|
||||||
|
DB_USER="roundcubemail"
|
||||||
|
DB_PASSWORD="roundcubemailadmin"
|
||||||
|
|
||||||
|
DB_SERVER_NAME="RoundCubeMail"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# WebApp
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WA_CROND_ENABLED="TRUE"
|
||||||
|
|
||||||
|
WA_DOC_ROOT="/var/www/html"
|
||||||
|
WA_APACHE_HTTPD_ENABLED="TRUE"
|
||||||
|
WA_PHP_MEMORY_LIMIT="512M"
|
||||||
|
WA_PHP_UPLOAD_LIMIT="32M"
|
||||||
|
|
||||||
|
WA_LOG_HTTPD_INT="/var/log/httpd"
|
||||||
|
WA_LOG_HTTPD_EXT=".${WA_LOG_HTTPD_INT}"
|
||||||
|
WA_RCM_CONFIG_INT=/etc/roundcubemail
|
||||||
|
WA_RCM_CONFIG_EXT=.${WA_RCM_CONFIG_INT}
|
||||||
|
|
||||||
|
WA_SMTP_SERVICE="tls://mail.rx3.net"
|
||||||
|
WA_IMAP_SERVICE="ssl://mail.rx3.net"
|
||||||
|
WA_SMTP_SERVER="mail.rx3.net"
|
||||||
|
|
||||||
|
WA_CARDDAV_URL="https://pim.rx3.net/caldav.php"
|
||||||
|
WA_CARDDAV_NAME="Rx3"
|
||||||
|
|
||||||
|
WA_CALDAV_URL="https://pim.rx3.net/caldav.php/"
|
||||||
|
WA_CALDAV_SHARED="Rx3:rx3"
|
||||||
|
|
||||||
|
# Initial setup
|
||||||
|
WA_RCM_CONFIG_ENABLED="TRUE"
|
||||||
|
#WA_RCM_CONFIG_ENABLED="FALSE"
|
||||||
|
|
||||||
|
WA_RCM_SERVER_NAME="Rx3-Docker/RoundCubeMail"
|
||||||
|
WA_RCM_URL="/private/roundcubemail"
|
||||||
4
etc/roundcubemail/.gitignore
vendored
Normal file
4
etc/roundcubemail/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
4
var/lib/pgsql/.gitignore
vendored
Normal file
4
var/lib/pgsql/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
4
var/lib/roundcubemail/.gitignore
vendored
Normal file
4
var/lib/roundcubemail/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
4
var/log/httpd/.gitignore
vendored
Normal file
4
var/log/httpd/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
4
var/log/init-database/.gitignore
vendored
Normal file
4
var/log/init-database/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
4
var/log/init-webapp/.gitignore
vendored
Normal file
4
var/log/init-webapp/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
4
var/log/postgres/.gitignore
vendored
Normal file
4
var/log/postgres/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
4
var/log/supervisor-database/.gitignore
vendored
Normal file
4
var/log/supervisor-database/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
4
var/log/supervisor-webapp/.gitignore
vendored
Normal file
4
var/log/supervisor-webapp/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
||||||
Reference in New Issue
Block a user