8 Commits

Author SHA1 Message Date
c174808c5a - Update Readme file. 2024-12-14 07:23:07 +01:00
ccea3a7efc - Add multi database support to PHPPGAdmin. 2024-12-14 00:04:38 +01:00
51cdb81f47 - Enable setBasePathFromXForwardedPrefix in RedPanda Console config. 2024-11-25 01:05:33 +01:00
607eb5eee3 - Add RedPanda Console tool,
- Now support docker-tools V 1.3.x.
2024-11-24 23:53:46 +01:00
e64e8eb257 - Add /var/log/init, /var/log/supervisor & var/log/httpd volumes. 2024-11-11 23:55:12 +01:00
bad45dfe9f - Move & Rename repo from Rx3/Tools-MGA9 to Rx3-Docker/Tools,
- New version naming standard,
- Now use docker_tools for .env building,
- Use now rx3-docker/server:1.2.0-mga9 image.
2024-11-11 19:25:48 +01:00
b7d83b4a63 - Patch PHPPGAdmin to fully support reverse proxy (display.php). 2024-10-29 20:06:35 +01:00
eef8d33716 - Now use rx3/php-apache-mga9:1.3.3 image,
- Variabilization of external server ports in env & compose file,
- Now use docker_tools for .env building.
2024-10-07 13:36:08 +02:00
9 changed files with 245 additions and 90 deletions

41
.env
View File

@@ -1,41 +0,0 @@
# Rx3 Tools Mageia-9 Docker Image
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Global Settings
#-------------------------------------------------------------------------------
IMG_ORG="rx3"
IMG_REGISTRY="docker.xor.rx3:5000"
IMG_URL_PREFIX="${IMG_REGISTRY}/${IMG_ORG}"
#-------------------------------------------------------------------------------
# Image Settings
#-------------------------------------------------------------------------------
IMG_NAME="tools-mga9"
IMG_FULL_NAME="Rx3 Tools Mageia-9 Docker Image"
IMG_VERSION="1.0.0"
IMG_URL="${IMG_URL_PREFIX}/${IMG_NAME}:${IMG_VERSION}"
IMG_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
#-------------------------------------------------------------------------------
# User Settings
#-------------------------------------------------------------------------------
APACHE_UID=980
APACHE_GID=977
APACHE_DOC_ROOT=/var/www/html
POSTGRESQL_SERVER_NAME=""
POSTGRESQL_HOST=""
POSTGRESQL_PORT=""
MARIADB_SERVER_NAME=""
MARIADB_HOST=""
MARIADB_PORT=""

View File

@@ -1,43 +1,105 @@
# Rx3 PHP Apache Mageia-9 Docker Image
# Rx3-Docker/Tools Docker Image
#-------------------------------------------------------------------------------
ARG IMG_URL_PREFIX="rx3"
ARG IMG_FROM_URL="rx3-docker/php-apache:latest"
FROM ${IMG_URL_PREFIX}/php-apache-mga9:1.3.2
FROM ${IMG_FROM_URL}
ARG IMG_NAME
ARG IMG_FULL_NAME
ARG IMG_NAME_FULL
ARG IMG_VERSION
ARG IMG_MAINTAINER
ARG APACHE_DOC_ROOT
LABEL org.rx3.${IMG_NAME}.name=${IMG_FULL_NAME}
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 APACHE_DOC_ROOT
ARG REDPANDA_CONSOLE_PORT
ARG PHPPGADMIN_OWNER="mentax"
ARG PHPPGADMIN_COMMIT="d0d35701af8644788f84b808d21e7fd04213baa0"
ARG PHPPGADMIN_HOME="${APACHE_DOC_ROOT}/phppgadmin"
ARG PHPPGADMIN_CONFIG="${PHPPGADMIN_HOME}/conf/config.inc.php"
ARG REDPANDA_CONSOLE_HOME="/opt/appl/redpanda_console"
ARG REDPANDA_CONSOLE_CONFIG="${REDPANDA_CONSOLE_HOME}/etc/redpanda-console-config.yaml"
#---------------------------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ARG TOOLSD='#!/bin/bash \n\
\n\
sed -i "s/$conf\[`servers`\]\[0\]\[`desc`\] = `PostgreSQL`;/$conf\[`servers`\]\[0\]\[`desc`\] = `${POSTGRESQL_SERVER_NAME}`;/" '${APACHE_DOC_ROOT}'/phppgadmin/conf/config.inc.php \n\
sed -i "s/$conf\[`servers`\]\[0\]\[`host`\] = ``;/$conf\[`servers`\]\[0\]\[`host`\] = `${POSTGRESQL_HOST}`;/" '${APACHE_DOC_ROOT}'/phppgadmin/conf/config.inc.php \n\
sed -i "s/$conf\[`servers`\]\[0\]\[`port`\] = 5432;/$conf\[`servers`\]\[0\]\[`port`\] = ${POSTGRESQL_PORT};/" '${APACHE_DOC_ROOT}'/phppgadmin/conf/config.inc.php \n\
sed -i "s/$conf\[`extra_login_security`\] = true;/$conf\[`extra_login_security`\] = false;/" '${APACHE_DOC_ROOT}'/phppgadmin/conf/config.inc.php'
#---------------------------------------------------------------------------------------------------
sed -i "s/\$conf\[`servers`\]\[0\]\[`desc`\]/\/\/\$conf\[`servers`\]\[0\]\[`desc`\]/" '${PHPPGADMIN_CONFIG}' \n\
sed -i "s/\$conf\[`servers`\]\[0\]\[`host`\]/\/\/\$conf\[`servers`\]\[0\]\[`host`\]/" '${PHPPGADMIN_CONFIG}' \n\
sed -i "s/\$conf\[`servers`\]\[0\]\[`port`\]/\/\/\$conf\[`servers`\]\[0\]\[`port`\]/" '${PHPPGADMIN_CONFIG}' \n\
sed -i "s/\$conf\[`extra_login_security`\] = true;/\$conf\[`extra_login_security`\] = false;/" '${PHPPGADMIN_CONFIG}' \n\
sed -i "s/?>//" '${PHPPGADMIN_CONFIG}' \n\
\n\
\n\
for vars in POSTGRESQL_SERVER_NAME:desc POSTGRESQL_HOST:host POSTGRESQL_PORT:port \n\
do \n\
IFS=":" \n\
set ${vars} \n\
\n\
eval read -r -a $2 \<\<\< "\${$1}" \n\
done \n\
\n\
IFS=" " \n\
\n\
i=0 \n\
while [[ ${i} -lt ${#host[@]} ]] \n\
do \n\
for var in desc host port \n\
do \n\
eval echo "`\$conf`[\`servers\`][${i}][\`${var}\`] = \`\${${var}[${i}]}\`\;" >> '${PHPPGADMIN_CONFIG}' \n\
done \n\
i=$(( ${i} + 1)) \n\
done \n\
\n\
echo "?>" >> '${PHPPGADMIN_CONFIG}''
#-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ARG REDPANDA_CONSOLED='#!/bin/bash \n\
\n\
sed -i "s/^ - broker-/ #- broker-/" '${REDPANDA_CONSOLE_CONFIG}' \n\
\n\
for broker in ${KAFKA_BROKERS} \n\
do \n\
sed -i "s/^ brokers:/ brokers:\\n - ${broker}/" '${REDPANDA_CONSOLE_CONFIG}' \n\
done \n\
\n\
sed -i "s/^ #setBasePathFromXForwardedPrefix:/ setBasePathFromXForwardedPrefix:/" '${REDPANDA_CONSOLE_CONFIG}' \n\
sed -i "s/^#server:/server:/" '${REDPANDA_CONSOLE_CONFIG}' \n\
sed -i "s/^ #listenPort: 8080/ listenPort: '${REDPANDA_CONSOLE_PORT}'/" '${REDPANDA_CONSOLE_CONFIG}''
#-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ARG REDPANDA_CONSOLED_INI='[program:redpanda_consoled] \n\
directory='${REDPANDA_CONSOLE_HOME}' \n\
command='${REDPANDA_CONSOLE_HOME}'/bin/redpanda-console -config.filepath '${REDPANDA_CONSOLE_CONFIG}''
#-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
RUN urpmi --force wget \
&& mkdir -p /var/www/appl \
&& wget -q -O- "https://github.com/${PHPPGADMIN_OWNER}/phppgadmin/archive/${PHPPGADMIN_COMMIT}.tar.gz" | tar xzf - -C ${APACHE_DOC_ROOT} \
&& mv ${APACHE_DOC_ROOT}/phppgadmin-${PHPPGADMIN_COMMIT} ${APACHE_DOC_ROOT}/phppgadmin \
&& cp ${APACHE_DOC_ROOT}/phppgadmin/conf/config.inc.php-dist ${APACHE_DOC_ROOT}/phppgadmin/conf/config.inc.php \
&& echo -e "${TOOLSD}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/toolsd \
&& chmod a+x /etc/init.d/toolsd \
&& ln -s /etc/init.d/toolsd /etc/rcD.d/S40toolsd
#RUN urpmi --force wget phpmyadmin \
RUN urpmi --force wget \
&& mkdir -p /var/www/appl \
&& wget -q -O- "https://github.com/${PHPPGADMIN_OWNER}/phppgadmin/archive/${PHPPGADMIN_COMMIT}.tar.gz" | tar xzf - -C ${APACHE_DOC_ROOT} \
&& mv ${APACHE_DOC_ROOT}/phppgadmin-${PHPPGADMIN_COMMIT} ${APACHE_DOC_ROOT}/phppgadmin \
&& sed -i 's/$_SERVER\['\''REQUEST_URI'\''\]/preg_replace(\"\/^\\\/phppgadmin\\\/\/", "", $_SERVER['\''REQUEST_URI'\''])/g' ${APACHE_DOC_ROOT}/phppgadmin/display.php \
&& cp ${APACHE_DOC_ROOT}/phppgadmin/conf/config.inc.php-dist ${APACHE_DOC_ROOT}/phppgadmin/conf/config.inc.php \
&& echo -e "${TOOLSD}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/toolsd \
&& chmod a+x /etc/init.d/toolsd \
&& ln -s /etc/init.d/toolsd /etc/rcD.d/S40toolsd \
&& mkdir -p ${REDPANDA_CONSOLE_HOME}/bin ${REDPANDA_CONSOLE_HOME}/etc \
&& wget -q -O- "https://github.com/redpanda-data/console/releases/download/v2.7.2/redpanda_console_2.7.2_linux_amd64.tar.gz" | tar xzf - -C ${REDPANDA_CONSOLE_HOME}/bin \
&& wget -q -O- "https://docs.redpanda.com/current/shared/_attachments/redpanda-console-config.yaml" > ${REDPANDA_CONSOLE_CONFIG} \
&& echo -e "${REDPANDA_CONSOLED}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/redpanda_consoled \
&& chmod a+x /etc/init.d/redpanda_consoled \
&& ln -s /etc/init.d/redpanda_consoled /etc/rcD.d/S45redpanda_consoled \
&& echo -e "${REDPANDA_CONSOLED_INI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/supervisord.d/redpanda_consoled.ini

View File

@@ -1,13 +1,14 @@
Welcome to Rx3/Tools-Mga9 docker image!
Welcome to Rx3-Docker/Tools docker image!
This is project aims to build Mageia 9 docker image embeding some usefull tools to tests other images from Rx3 packaging projects.
This project aims to build a docker image embeding some usefull tools to tests other images from Rx3 packaging projects.
Features:
- Curtently based on rx3/php-apache-mga9:1.3.2 image,
- PHPPGAdmin (Mentax GitHub 2024/07 commit) installed,
- PostgreSQL server name, host & port configurable.
- Curtently based on rx3-docker/php-apache:1.4.0-mga9 image,
- PHPPGAdmin (Mentax GitHub 2024/07 commit) installed (URL: http://localhost:xxxx/phppgadmin/),
- PostgreSQL server name, host & port configurable with multi-server support,
- RedPenda Console tool (V2.7.2).
Enjoy it!
@@ -16,4 +17,4 @@ Your Rx3 Team.
--
arnaud@rx3.net
https://git.rx3.org/gitea/rx3/tools-mga9
https://git.rx3.org/gitea/rx3-docker/tools

View File

@@ -1,7 +1,54 @@
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Tools V 1.2.1 - A. GIBERT - 2024/12/14
------------------------------------------------------------------------------------------------------------------------------------
- Add multi-database server support to PHPPGAdmin.
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Tools V 1.2.0 - A. GIBERT - 2024/11/24
------------------------------------------------------------------------------------------------------------------------------------
- Add RedPanda Console tool,
- Now support docker-tools V 1.3.x.
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Tools V 1.1.0 - A. GIBERT - 2024/11/11
------------------------------------------------------------------------------------------------------------------------------------
- Move & Rename repo from Rx3/Tools-MGA9 to Rx3-Docker/Tools,
- New version naming standard,
- Now use docker_tools for .env building,
- Use now rx3-docker/server:1.2.0-mga9 image,
- Add /var/log/init, /var/log/supervisor & var/log/httpd volumes.
------------------------------------------------------------------------------------------------------------------------------------
Rx3/Tools-Mga9 V 1.0.2 - A. GIBERT - 2024/10/29
------------------------------------------------------------------------------------------------------------------------------------
- Patch phppgadmin to fully support reverse proxy (display.php).
------------------------------------------------------------------------------------------------------------------------------------
Rx3/Tools-Mga9 V 1.0.1 - A. GIBERT - 2024/10/07
------------------------------------------------------------------------------------------------------------------------------------
- Now use rx3/php-apache-mga9:1.3.3 image,
- Variabilization of external server ports in env & compose file,
- Now use docker_tools for .env building.
------------------------------------------------------------------------------------------------------------------------------------
Rx3/Tools-Mga9 V 1.0.0 - A. GIBERT - 2024/09/04
------------------------------------------------------------------------------------------------------------------------------------
- Initial release,
- Use based on rx3/php-apache-mga9:1.3.2 image,
- Based on rx3/php-apache-mga9:1.3.2 image,
- PHPPGAdmin Installed.

View File

@@ -1,37 +1,56 @@
# Rx3 PHP Apache Mageia-9 Docker Image
# Rx3-Docker/Tools Docker Image
#-------------------------------------------------------------------------------
name: ${IMG_NAME}
name: ${HOST_NAME_PREFIX}
services:
webapp:
container_name: ${IMG_NAME}
webtools:
container_name: ${TOOLS_HOST_NAME}
hostname: ${TOOLS_HOST_NAME}
image: ${IMG_URL}
image: ${TOOLS_IMG_URL}
build:
context: .
args:
- IMG_NAME=${IMG_NAME}
- IMG_FULL_NAME=${IMG_FULL_NAME}
- IMG_VERSION=${IMG_VERSION}
- IMG_MAINTAINER=${IMG_MAINTAINER}
- IMG_URL_PREFIX=${IMG_URL_PREFIX}
- APACHE_DOC_ROOT=${APACHE_DOC_ROOT}
IMG_NAME: ${TOOLS_IMG_NAME}
IMG_NAME_FULL: ${TOOLS_IMG_NAME_FULL}
IMG_VERSION: ${TOOLS_IMG_VERSION}
IMG_MAINTAINER: ${TOOLS_IMG_MAINTAINER}
IMG_FROM_URL: ${TOOLS_IMG_FROM_URL}
restart: unless-stopped
APACHE_DOC_ROOT: ${TOOLS_DOC_ROOT}
REDPANDA_CONSOLE_PORT: ${TOOLS_PORT_ADMIN_INT}
restart: unless-stopped
environment:
POSTGRESQL_SERVER_NAME: ${POSTGRESQL_SERVER_NAME}
POSTGRESQL_HOST: ${POSTGRESQL_HOST}
POSTGRESQL_PORT: ${POSTGRESQL_PORT}
MARIADB_SERVER_NAME: ${MARIADB_SERVER_NAME}
MARIADB_HOST: ${MARIADB_HOST}
MARIADB_PORT: ${MARIADB_PORT}
APACHE_DOC_ROOT: ${TOOLS_DOC_ROOT}
network_mode: bridge
POSTGRESQL_SERVER_NAME: ${POSTGRESQL_SERVER_NAME}
POSTGRESQL_HOST: ${POSTGRESQL_HOST}
POSTGRESQL_PORT: ${POSTGRESQL_PORT}
MARIADB_SERVER_NAME: ${MARIADB_SERVER_NAME}
MARIADB_HOST: ${MARIADB_HOST}
MARIADB_PORT: ${MARIADB_PORT}
KAFKA_BROKERS: ${KAFKA_HOST}:${KAFKA_PORT}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:${TOOLS_PORT_MAIN_INT}"]
interval: 10s
timeout: 3s
retries: 3
volumes:
# - ./var/www/html:${TOOLS_DOC_ROOT}
- .${TOOLS_LOG_INIT_EXT}:${TOOLS_LOG_INIT_INT}
- .${TOOLS_LOG_SV_EXT}:${TOOLS_LOG_SV_INT}
- .${TOOLS_LOG_HTTPD_EXT}:${TOOLS_LOG_HTTPD_INT}
ports:
- "127.0.0.1:9070:9001"
- "127.0.0.1:8070:80"
- "127.0.0.1:${TOOLS_PORT_SV_EXT}:${TOOLS_PORT_SV_INT}"
- "127.0.0.1:${TOOLS_PORT_MAIN_EXT}:${TOOLS_PORT_MAIN_INT}"
- "127.0.0.1:${TOOLS_PORT_ADMIN_EXT}:${TOOLS_PORT_ADMIN_INT}"

55
env.dist Normal file
View File

@@ -0,0 +1,55 @@
# Rx3-Docker/Tools Docker Image
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Global Settings
#-------------------------------------------------------------------------------
ORG_NAME="rx3-docker"
ORG_REGISTRY="docker.xor.rx3:5000"
ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}"
#-------------------------------------------------------------------------------
# Image Settings
#-------------------------------------------------------------------------------
HOST_NAME_PREFIX=""
PORT_ENV_OFFSET=0
PORT_SV_INT=9001
PORT_SV_OFFSET=1000
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+-----------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
# | 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 TOOLS tools ${ORG_URL_PREFIX} - "Rx3-Docker/Tools" 1.2.1-mga9 ${ORG_URL_PREFIX} php-apache 1.4.0-mga9 - - 8070 80 8092 8080 apache apache
#-------------------------------------------------------------------------------
# User Settings
#-------------------------------------------------------------------------------
TOOLS_LOG_HTTPD_INT="/var/log/httpd"
TOOLS_LOG_HTTPD_EXT="./var/log/httpd"
TOOLS_DOC_ROOT="/var/www/html"
POSTGRESQL_SERVER_NAME="Default"
POSTGRESQL_HOST="127.0.0.1"
POSTGRESQL_PORT="5342"
MARIADB_SERVER_NAME="Default"
MARIADB_HOST="127.0.0.1"
MARIADB_PORT="3306"
KAFKA_HOST="127.0.0.1"
KAFKA_PORT="9092"

4
var/log/httpd/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

4
var/log/init/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

4
var/log/supervisor/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore