FROM php:8-alpine RUN apk add --quiet --no-cache \ bash \ apache2 \ php-apache2 \ php-ctype \ php-phar \ php-gd \ php-openssl \ php-pdo \ php-pdo_mysql \ php-pdo_pgsql \ php-pdo_sqlite \ php-pgsql \ php-session \ php-sqlite3 # use docker-php-extension-installer for automatically get the right packages installed ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ # Install extensions RUN install-php-extensions iconv 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=8080 # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH WORKDIR /var/www/html # Final touches EXPOSE ${WEBPORT} CMD ["bash", "/entrypoint.sh"]