FROM php:7.4-apache # Install extensions RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-install -j$(nproc) iconv \ && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd # Prepare files and folders RUN mkdir -p /speedtest/ # Copy sources COPY backend/ /speedtest/backend COPY chartjs/ /speedtest/chartjs COPY *.js /speedtest/ COPY *.html /speedtest/ COPY docker/entrypoint.sh / ENV TIME_ZONE=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone RUN printf '[PHP]\ndate.timezone = "Asia/Shanghai"\n' > /usr/local/etc/php/conf.d/tzone.ini # Prepare environment variabiles defaults ENV WEBPORT=80 ENV MAX_LOG_COUNT=100 ENV IP_SERVICE="ip.sb" ENV SAME_IP_MULTI_LOGS="false" VOLUME ["/speedlogs"] # Final touches EXPOSE 80 CMD ["bash", "/entrypoint.sh"]