From a177ee57cae8a4b3c841f5165a262461f5e1ee57 Mon Sep 17 00:00:00 2001 From: "Arnaud G. GIBERT" Date: Sat, 27 Dec 2025 12:29:31 +0100 Subject: [PATCH] - Initial release, - Based on rx3-docker/php-apache:1.6.0-mga9 & rx3-docker/mariadb:1.1.4-mga9 images. - Use tiki 27.4 from Rx3 rpm. --- .gitignore | 2 + Dockerfile | 51 +++++++++++ ReadMe.txt | 19 ++++ ReleaseNotes.txt | 7 ++ compose.yaml | 95 ++++++++++++++++++++ env.dist | 115 +++++++++++++++++++++++++ var/lib/mysql/.gitignore | 4 + var/log/httpd-webapp/.gitignore | 4 + var/log/init-database/.gitignore | 4 + var/log/init-webapp/.gitignore | 4 + var/log/mysql/.gitignore | 4 + var/log/supervisor-database/.gitignore | 4 + var/log/supervisor-webapp/.gitignore | 4 + var/www/tiki/.gitignore | 4 + 14 files changed, 321 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 ReadMe.txt create mode 100644 ReleaseNotes.txt create mode 100644 compose.yaml create mode 100644 env.dist create mode 100644 var/lib/mysql/.gitignore create mode 100644 var/log/httpd-webapp/.gitignore create mode 100644 var/log/init-database/.gitignore create mode 100644 var/log/init-webapp/.gitignore create mode 100644 var/log/mysql/.gitignore create mode 100644 var/log/supervisor-database/.gitignore create mode 100644 var/log/supervisor-webapp/.gitignore create mode 100644 var/www/tiki/.gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..556bc65 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*~ +*.old diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b251c39 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,51 @@ +# Rx3-Docker/Tiki 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 + +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 TIKI_VERSION=1.43.5 + +ARG HTTPD_VHOST_CONFIG_DIR=/etc/httpd/conf/sites.d/default_vhost.d +ARG TIKI_CORE_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/70-tiki-core.conf +ARG TIKI_WWW_DIR=/var/www/tiki + + + +#--------------------------------------------------------------------------------------------------- +ARG TIKI='#!/bin/bash \n\ + \n\ +cp -Rf '${TIKI_WWW_DIR}.ref/*' '${TIKI_WWW_DIR}' \n\ + \n\ +chown -R apache:apache '${TIKI_WWW_DIR}' \n\ +chmod -R a-x,a+X '${TIKI_WWW_DIR}' \n\ +chmod o-rwx '${TIKI_WWW_DIR}' \n\ +chmod -R u+rwX '${TIKI_WWW_DIR}' \n\ + \n\ +cp -f '${TIKI_CORE_CONFIG_FILE}.ref' '${TIKI_CORE_CONFIG_FILE}' \n\ + \n\ +sed -i -e "s%TIKI_URL%${TIKI_URL}%g" '${TIKI_CORE_CONFIG_FILE}' \n\ + \n\ +sed -i -e "s%mailhub=mail%mailhub=${SMTP_SERVER}%" /etc/ssmtp/ssmtp.conf' +#--------------------------------------------------------------------------------------------------- + + + +RUN urpmi.update -a \ + && urpmi --force wget ssmtp tiki \ + && mv /etc/httpd/conf/sites.d/tiki.conf ${TIKI_CORE_CONFIG_FILE}.ref \ + && sed -i -e "s%Alias /tiki%Alias TIKI_URL%" ${TIKI_CORE_CONFIG_FILE}.ref \ + && mv ${TIKI_WWW_DIR} ${TIKI_WWW_DIR}.ref \ + && echo -e "${TIKI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/tiki \ + && chmod a+x /etc/init.d/tiki \ + && ln -s /etc/init.d/tiki /etc/rcD.d/S40tiki + diff --git a/ReadMe.txt b/ReadMe.txt new file mode 100644 index 0000000..07be9c2 --- /dev/null +++ b/ReadMe.txt @@ -0,0 +1,19 @@ +Welcome to Rx3-Docker/Tiki docker image! + + + +This project aims to build a Tiki docker image. + +Features: + - Curtently based on rx3-docker/php-apache:1.6.0-mga9 & rx3-docker/mariadb:1.1.4-mga9 images, + - Sync with Tiki 2.4. + + + +Enjoy it! + +Your Rx3 Team. + +-- +arnaud@rx3.net +https://git.rx3.org/gitea/rx3-docker/tiki diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt new file mode 100644 index 0000000..c8962c3 --- /dev/null +++ b/ReleaseNotes.txt @@ -0,0 +1,7 @@ +------------------------------------------------------------------------------------------------------------------------------------ +Rx3-Docker/MediaWiki V 1.0.0 - A. GIBERT - 2025/12/27 +------------------------------------------------------------------------------------------------------------------------------------ + +- Initial release, +- Based on rx3-docker/php-apache:1.6.0-mga9 & rx3-docker/mariadb:1.1.4-mga9 images. +- Use tiki 27.4 from Rx3 rpm. diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..34354ea --- /dev/null +++ b/compose.yaml @@ -0,0 +1,95 @@ +# Rx3-Docker/Tiki 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: + MARIADB_UID: ${DB_USER_ID} + MARIADB_GID: ${DB_GROUP_ID} + MARIADB_ROOT_HOST: ${DB_ROOT_HOST} + MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} + MARIADB_DATABASE: ${DB_DB_NAME} + MARIADB_USER: ${DB_DB_USER} + MARIADB_PASSWORD: ${DB_DB_PASSWORD} + + healthcheck: + test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p${DB_ROOT_PASSWORD}' ] + 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: + context: . + args: + IMG_NAME: ${WA_IMG_URL} + IMG_NAME_FULL: ${WA_IMG_NAME_FULL} + IMG_VERSION: ${WA_IMG_VERSION} + IMG_MAINTAINER: ${APPL_MAINTAINER} + IMG_FROM_URL: ${WA_IMG_FROM_URL} + + 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_APACHE_DOC_ROOT} + PHP_UPLOAD_LIMIT: ${WA_PHP_UPLOAD_LIMIT} + TIKI_URL: ${WA_TIKI_URL} + + volumes: + - ./${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_WWW_EXT}:${WA_WWW_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} diff --git a/env.dist b/env.dist new file mode 100644 index 0000000..a8815d7 --- /dev/null +++ b/env.dist @@ -0,0 +1,115 @@ +# Rx3-Docker/Tiki Docker Image +#------------------------------------------------------------------------------- + +#------------------------------------------------------------------------------- +# Global Settings +#------------------------------------------------------------------------------- + +ORG_NAME="rx3-docker" +ORG_REGISTRY="docker.xor.rx3:5000" + +ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}" + + + +#------------------------------------------------------------------------------- +# Image Settings +#------------------------------------------------------------------------------- + +APPL_NAME="tiki" +APPL_NAME_FULL="Tiki Server" +APPL_NAME_SHORT="tiki" +APPL_ORG="rx3-docker" +APPL_VERSION="1.0.0" +APPL_MAINTAINER='"Arnaud G. GIBERT" ' + + + +#------------------------------------------------------------------------------- +# User Settings +#------------------------------------------------------------------------------- + +#APPL_ENV="prd" +#APPL_ENV="tst" +#APPL_ENV="int" +APPL_ENV="dvp" + + + +#------------------------------------------------------------------------------- +# Common +#------------------------------------------------------------------------------- + +if [[ "${APPL_ENV}" != "prd" ]] +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_ENV_OFFSET=0 + +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=MIXED +#DOCKER_TOOLS_VOLUME=MERGED +DOCKER_TOOLS_EXEPTION_LIBS="postgres:pgsql" + + + +#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+----------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+ +# | 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} mariadb - 1.1.4-mga9 - - - mysql - 8006 3306 - - mysql mysql + +docker_service_add WA webapp ${ORG_URL_PREFIX} tiki "Rx3-Docker/Tiki" ${APPL_VERSION}-mga9 ${ORG_URL_PREFIX} php-apache 1.6.0-mga9 - - 8077 80 - - apache apache + + + +#------------------------------------------------------------------------------- +# Database +#------------------------------------------------------------------------------- + +DB_ROOT_HOST='%' # needs to be enclosed with quotes +DB_ROOT_PASSWORD="mysqladmin" +DB_DB_NAME="tiki" +DB_DB_USER="tiki" +DB_DB_PASSWORD="tikiadmin" + +DB_SERVER_NAME="Tiki" + + + +#------------------------------------------------------------------------------- +# WebApp +#------------------------------------------------------------------------------- + +WA_CROND_ENABLED="FALSE" + +WA_APACHE_DOC_ROOT="/var/www/html" +WA_PHP_UPLOAD_LIMIT="64M" + +WA_LOG_HTTPD_EXT="./var/log/httpd-webapp" +WA_LOG_HTTPD_INT="/var/log/httpd" + +WA_WWW_EXT=./var/www/tiki +WA_WWW_INT=/var/www/${APPL_NAME} + +#docker_config_add ${WA_CONF_EXT}/config_inc.php ${WA_CONF_EXT}/config_inc.php.ref + +WA_TIKI_URL="/tiki" +#WA_SMTP_SERVER="mail.rx3.net" diff --git a/var/lib/mysql/.gitignore b/var/lib/mysql/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/var/lib/mysql/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/var/log/httpd-webapp/.gitignore b/var/log/httpd-webapp/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/var/log/httpd-webapp/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/var/log/init-database/.gitignore b/var/log/init-database/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/var/log/init-database/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/var/log/init-webapp/.gitignore b/var/log/init-webapp/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/var/log/init-webapp/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/var/log/mysql/.gitignore b/var/log/mysql/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/var/log/mysql/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/var/log/supervisor-database/.gitignore b/var/log/supervisor-database/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/var/log/supervisor-database/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/var/log/supervisor-webapp/.gitignore b/var/log/supervisor-webapp/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/var/log/supervisor-webapp/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/var/www/tiki/.gitignore b/var/www/tiki/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/var/www/tiki/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore