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