From b9d217eb5f74192b34f16ffa5b3d19f2da24a135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emmanuel=20BENO=C3=8ET?= Date: Mon, 30 Dec 2024 22:50:05 +0100 Subject: [PATCH] chore: prepare repo for use with Docker --- Dockerfile | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++ run-lwb5.sh | 21 ++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 Dockerfile create mode 100755 run-lwb5.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..67a93d5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,64 @@ +FROM debian:12-slim +ADD . /opt/lwb5 +RUN < /etc/apt/sources.list.d/php.list + apt-get update + apt-get install -y apache2 libapache2-mod-php8.3 \ + php8.3-cli php8.3-opcache php8.3-pgsql \ + php8.3-xml socat + a2dismod mpm_event + a2enmod mpm_prefork + adduser --system --group \ + --shell '/usr/bin/php /opt/lwb5/scripts/ticks.php' \ + --comment 'LWB5 Ticks' \ + --home /opt/lwb5 --no-create-home \ + lwticks + /bin/echo -e "Listen 80\nListen 81" > /etc/apache2/ports.conf + cat > /etc/apache2/sites-available/lwb5-main.conf < + ServerAdmin webmaster@localhost + DocumentRoot /opt/lwb5/site + ErrorLog /dev/stderr + CustomLog /dev/stdout combined + + Require all granted + php_flag log_errors on + php_value error_log syslog + + + Require all denied + + +EOC + cat > /etc/apache2/sites-available/lwb5-admin.conf < + ServerAdmin webmaster@localhost + DocumentRoot /opt/lwb5/admin + ErrorLog /dev/stderr + CustomLog /dev/stdout combined + + Require all granted + php_flag log_errors on + php_value error_log syslog + + + Require all denied + + +EOC + a2dissite 000-default + a2ensite lwb5-main + a2ensite lwb5-admin +EOF + +EXPOSE 80 81 +ENTRYPOINT ["/opt/lwb5/run-lwb5.sh"] diff --git a/run-lwb5.sh b/run-lwb5.sh new file mode 100755 index 0000000..1b587df --- /dev/null +++ b/run-lwb5.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +socat -u \ + UNIX-LISTEN:/dev/log,reuseaddr,mode=666,fork \ + SYSTEM:"(sed -z 's/$/\\\\n/'; /bin/echo)" \ + & + +#perl /opt/lwb5/scripts/control.pl --start +#perl /opt/lwb5/scripts/control.pl TMINIT + +: "${APACHE_CONFDIR:=/etc/apache2}" +: "${APACHE_RUN_DIR:=/run/apache2}" +: "${APACHE_PID_FILE:=$APACHE_RUN_DIR/apache2.pid}" +: "${APACHE_LOG_DIR:=/var/log/apache2}" +: "${APACHE_RUN_USER:=www-data}" +: "${APACHE_RUN_GROUP:=www-data}" +rm -f "$APACHE_PID_FILE" + +export APACHE_CONFDIR APACHE_RUN_DIR APACHE_PID_FILE \ + APACHE_LOG_DIR APACHE_RUN_USER APACHE_RUN_GROUP +exec /usr/sbin/apache2 -DFOREGROUND "$@"