|
|
@@ -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"]
|