lwb5-in-2025/Dockerfile

78 lines
2 KiB
Text
Raw Normal View History

FROM debian:12-slim
ADD . /opt/lwb5
RUN <<EOF
set -e
export DEBIAN_FRONTEND=noninteractive
export DEBCONF_NONINTERACTIVE_SEEN=true
apt-get update && apt-get dist-upgrade -uy
apt-get -y install lsb-release ca-certificates curl
curl -sSLo /tmp/debsuryorg-archive-keyring.deb \
https://packages.sury.org/debsuryorg-archive-keyring.deb
dpkg -i /tmp/debsuryorg-archive-keyring.deb
2024-12-31 12:13:52 +01:00
rm -f /tmp/debsuryorg-archive-keyring.deb
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" \
> /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
2024-12-31 13:54:12 +01:00
adduser --system --ingroup www-data \
--shell '/usr/bin/php /opt/lwb5/scripts/ticks.php' \
--comment 'LWB5 Ticks' \
--home /opt/lwb5 --no-create-home \
lwticks
a2dismod mpm_event
a2enmod mpm_prefork
/bin/echo -e "Listen 80\nListen 81" > /etc/apache2/ports.conf
cat > /etc/apache2/sites-available/lwb5-main.conf <<EOC
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /opt/lwb5/site
ErrorLog /dev/stderr
CustomLog /dev/stdout combined
<Directory /opt/lwb5/site>
Require all granted
php_flag log_errors on
php_value error_log syslog
</Directory>
<Files "*.inc">
Require all denied
</Files>
</VirtualHost>
EOC
cat > /etc/apache2/sites-available/lwb5-admin.conf <<EOC
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /opt/lwb5/admin
ErrorLog /dev/stderr
CustomLog /dev/stdout combined
<Directory /opt/lwb5/admin>
Require all granted
php_flag log_errors on
php_value error_log syslog
</Directory>
<Files "*.inc">
Require all denied
</Files>
</VirtualHost>
EOC
a2dissite 000-default
a2ensite lwb5-main
a2ensite lwb5-admin
mkdir /var/cache/lw
chmod 1777 /var/cache/lw
mkdir /var/spool/pgen
chgrp www-data /var/spool/pgen
chmod 1775 /var/spool/pgen
EOF
VOLUME /var/spool/pgen /var/cache/lw
EXPOSE 80 81
ENTRYPOINT ["/opt/lwb5/run-lwb5.sh"]