| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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 frontend/ /speedtest/frontend
- 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
- # Add labels for better metadata
- LABEL org.opencontainers.image.title="LibreSpeed"
- LABEL org.opencontainers.image.description="A Free and Open Source speed test that you can host on your server(s)"
- LABEL org.opencontainers.image.vendor="LibreSpeed"
- LABEL org.opencontainers.image.url="https://github.com/librespeed/speedtest"
- LABEL org.opencontainers.image.source="https://github.com/librespeed/speedtest"
- LABEL org.opencontainers.image.documentation="https://github.com/librespeed/speedtest/blob/master/doc_docker.md"
- LABEL org.opencontainers.image.licenses="LGPL-3.0-or-later"
- # Add health check
- HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
- CMD wget --no-verbose --tries=1 --spider http://localhost:${WEBPORT}/ || exit 1
- WORKDIR /var/www/html
- # Final touches
- EXPOSE ${WEBPORT}
- CMD ["bash", "/entrypoint.sh"]
|