Dockerfile.alpine 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. FROM php:8-alpine
  2. # Install extensions
  3. RUN apk add --quiet --no-cache \
  4. bash \
  5. apache2 \
  6. apache2-ssl \
  7. php83-apache2 \
  8. php83-ctype \
  9. php83-openssl \
  10. freetype-dev \
  11. libjpeg-turbo-dev \
  12. libpng-dev \
  13. libpq-dev \
  14. && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \
  15. && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \
  16. && docker-php-ext-install -j$(nproc) gd pdo pdo_mysql pdo_pgsql pgsql \
  17. && rm -f /usr/src/php.tar.xz /usr/src/php.tar.xz.asc \
  18. && apk del --quiet --no-cache \
  19. freetype-dev \
  20. libjpeg-turbo-dev \
  21. libpng-dev \
  22. libpq-dev
  23. RUN ln -sf /dev/stdout /var/log/apache2/access.log && \
  24. ln -sf /dev/stderr /var/log/apache2/error.log
  25. # Prepare files and folders
  26. RUN mkdir -p /speedtest/
  27. # Copy sources
  28. COPY backend/ /speedtest/backend
  29. COPY results/*.php /speedtest/results/
  30. COPY results/*.ttf /speedtest/results/
  31. COPY *.js /speedtest/
  32. COPY favicon.ico /speedtest/
  33. COPY docker/servers.json /servers.json
  34. COPY docker/*.php /speedtest/
  35. COPY docker/entrypoint.sh /
  36. # Prepare default environment variables
  37. ENV TITLE=LibreSpeed
  38. ENV MODE=standalone
  39. ENV PASSWORD=password
  40. ENV TELEMETRY=false
  41. ENV ENABLE_ID_OBFUSCATION=false
  42. ENV REDACT_IP_ADDRESSES=false
  43. ENV WEBPORT=80
  44. # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop
  45. STOPSIGNAL SIGWINCH
  46. # Final touches
  47. EXPOSE 80
  48. CMD ["bash", "/entrypoint.sh"]