Dockerfile 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. FROM alpine:3.20
  2. WORKDIR "/var/www/html"
  3. ADD "." "."
  4. # Docker metadata contains information about the maintainer, such as the name, repository, and support email
  5. # See more: https://docs.docker.com/config/labels-custom-metadata/
  6. LABEL name="LibreY" \
  7. description="Framework and javascript free privacy respecting meta search engine" \
  8. version="1.0" \
  9. vendor="Ahwx <ahwx.org>" \
  10. maintainer="Ahwx <ahwx.org>" \
  11. url="https://github.com/Ahwxorg/LibreY" \
  12. authors="https://github.com/Ahwxorg/LibreY/contributors"
  13. # Include arguments as temporary environment variables to be handled by Docker during the image build process
  14. # Change or add new arguments to customize the image generated by 'docker build' command
  15. ARG DOCKER_SCRIPTS="docker"
  16. ARG NGINX_PORT=8080
  17. # Set this argument during build time to indicate that the path is for php's www.conf
  18. ARG WWW_CONFIG="/etc/php83/php-fpm.d/www.conf"
  19. # Customize the environment during both execution and build time by modifying the environment variables added to the container's shell
  20. # When building your image, make sure to set the 'TZ' environment variable to your desired time zone location, for example 'America/Sao_Paulo'
  21. # See more: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
  22. ENV TZ="America/New_York"
  23. # Install required packages
  24. RUN apk add gettext php83 php83-fpm php83-dom php83-curl php83-json php83-pecl-apcu nginx --no-cache
  25. # Configure PHP-FPM to listen on a Unix socket instead of a TCP port, which is more secure and efficient
  26. RUN touch /run/php-fpm83.sock && chown nginx:nginx "/run/php-fpm83.sock"
  27. RUN sed -i 's/^\s*listen = 127.0.0.1:9000/listen = \/run\/php-fpm83.sock/' ${WWW_CONFIG} &&\
  28. sed -i 's/^\s*;\s*listen.owner = nobody/listen.owner = nginx/' ${WWW_CONFIG} &&\
  29. sed -i 's/^\s*;\s*listen.group = nobody/listen.group = nginx/' ${WWW_CONFIG} &&\
  30. sed -i 's/^\s*;\s*listen.mode = 0660/listen.mode = 0660/' ${WWW_CONFIG}
  31. EXPOSE ${NGINX_PORT}
  32. # Configures the container to be run as an executable.
  33. ENTRYPOINT ["/bin/sh", "-c", "docker/entrypoint.sh"]