|
|
@@ -0,0 +1,53 @@
|
|
|
+FROM php:8-alpine
|
|
|
+
|
|
|
+# Install extensions
|
|
|
+RUN apk add --quiet --no-cache \
|
|
|
+ bash \
|
|
|
+ apache2 \
|
|
|
+ apache2-ssl \
|
|
|
+ php82-apache2 \
|
|
|
+ php82-ctype \
|
|
|
+ php82-openssl \
|
|
|
+ freetype-dev \
|
|
|
+ libjpeg-turbo-dev \
|
|
|
+ libpng-dev \
|
|
|
+ libpq-dev
|
|
|
+RUN 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
|
|
|
+RUN ln -sf /dev/stdout /var/log/apache2/access.log && \
|
|
|
+ ln -sf /dev/stderr /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
|
|
|
+ENV APACHE_DOCUMENT_ROOT=/var/www/html
|
|
|
+
|
|
|
+# https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop
|
|
|
+STOPSIGNAL SIGWINCH
|
|
|
+
|
|
|
+# Final touches
|
|
|
+EXPOSE 80
|
|
|
+CMD ["bash", "/entrypoint.sh"]
|