From a6e524148bf116852c27148c8d0b475cfbd55d3d Mon Sep 17 00:00:00 2001 From: sstidl Date: Sat, 19 Oct 2024 19:41:43 +0200 Subject: [PATCH] enable new design in docker (no alpine yet) --- Dockerfile | 1 + Dockerfile.alpine | 64 ++++++++++++++++++++++++++++++++++++++++++++ docker/entrypoint.sh | 5 ++-- 3 files changed, 68 insertions(+), 2 deletions(-) create mode 100755 Dockerfile.alpine diff --git a/Dockerfile b/Dockerfile index a626296bb..6598e04a7 100755 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,7 @@ RUN mkdir -p /speedtest/ # Copy sources COPY backend/ /speedtest/backend +COPY frontend/ /speedtest/frontend COPY results/*.php /speedtest/results/ COPY results/*.ttf /speedtest/results/ diff --git a/Dockerfile.alpine b/Dockerfile.alpine new file mode 100755 index 000000000..0fbc59a08 --- /dev/null +++ b/Dockerfile.alpine @@ -0,0 +1,64 @@ +FROM php:8-alpine + +# Install extensions +RUN apk add --quiet --no-cache \ + bash \ + apache2 \ + apache2-ssl \ + php83-apache2 \ + php83-ctype \ + php83-openssl \ + php-gd php-session php-sqlite3 \ + php-pdo php-pgsql php83-pdo_mysql php-pdo_pgsql php-pdo_sqlite \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libpq-dev \ + && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \ + && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \ + && docker-php-ext-install -j$(nproc) gd pdo pdo_mysql pdo_pgsql pgsql \ + && rm -f /usr/src/php.tar.xz /usr/src/php.tar.xz.asc \ + && apk del --quiet --no-cache \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libpq-dev + +#RUN ln -sf /dev/stdout /var/log/apache2/access.log && \ +# ln -sf /dev/stderr /var/log/apache2/error.log +RUN ln -sf /proc/self/fd/1 /var/log/apache2/access.log && \ + ln -sf /proc/self/fd/1 /var/log/apache2/error.log + + +# Prepare files and folders +RUN mkdir -p /speedtest/ + +# Copy sources +COPY backend/ /speedtest/backend + +COPY results/*.php /speedtest/results/ +COPY results/*.ttf /speedtest/results/ + +COPY *.js /speedtest/ +COPY favicon.ico /speedtest/ + +COPY docker/servers.json /servers.json + +COPY docker/*.php /speedtest/ +COPY docker/entrypoint.sh / + +# Prepare default environment variables +ENV TITLE=LibreSpeed +ENV MODE=standalone +ENV PASSWORD=password +ENV TELEMETRY=false +ENV ENABLE_ID_OBFUSCATION=false +ENV REDACT_IP_ADDRESSES=false +ENV WEBPORT=80 + +# https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop +STOPSIGNAL SIGWINCH + +# Final touches +EXPOSE 80 +CMD ["bash", "/entrypoint.sh"] diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 172fd3198..307bbd8ff 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -29,9 +29,10 @@ fi # Set up index.php for frontend-only or standalone modes if [[ "$MODE" == "frontend" || "$MODE" == "dual" ]]; then - cp /speedtest/frontend.php /var/www/html/index.php + cp -av /speedtest/frontend/* /var/www/html/ elif [ "$MODE" == "standalone" ]; then - cp /speedtest/standalone.php /var/www/html/index.php + cp -av /speedtest/frontend/* /var/www/html/ + echo '[{"name":"local","server":"/backend", "dlURL": "garbage.php", "ulURL": "empty.php", "pingURL": "empty.php", "getIpURL": "getIP.php", "sponsorName": "", "sponsorURL": "", "id":1 }]' > /var/www/html/server-list.json fi # Apply Telemetry settings when running in standalone or frontend mode and telemetry is enabled