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 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 a2dismod mpm_event a2enmod mpm_prefork adduser --system --in-group www-data \ --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 <<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 EOF EXPOSE 80 81 ENTRYPOINT ["/opt/lwb5/run-lwb5.sh"]