ARG PHP_VERSION=7.4.23

FROM php:${PHP_VERSION}-fpm-alpine

# Install packages
RUN apk add --update --no-cache \
  nginx \
  supervisor

# PHP Extensions
ADD https://github.com/mlocati/docker-php-extension-installer/releases/download/1.2.66/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions && sync && \
    install-php-extensions pdo_mysql opcache

# Nginx
COPY nginx.conf /etc/nginx/nginx.conf
COPY conf.d /etc/nginx/conf.d/

# Crond
#RUN echo '* * * * * /usr/local/bin/php /var/www/artisan schedule:run' > /etc/crontabs/root

# Supervisor
ENV QUEUE_WORKER_NUM="1" \
    QUEUE_WORKER_SLEEP="3" \
    QUEUE_WORKER_TRIES="1"
COPY supervisor.ini /etc/supervisor.d/master.ini

# PHP Configs
ENV PHP_MEMORY_LIMIT="128M" \
    PHP_POST_MAX_SIZE="16M" \
    PHP_UPLOAD_MAX_FILESIZE="16M" \
    PHP_OPCACHE_ENABLE="1" \
    PHP_OPCACHE_MEMORY_CONSUMPTION="192" \
    PHP_OPCACHE_MAX_ACCELERATED_FILES="10000" \
    PHP_OPCACHE_MAX_WASTED_PERCENTAGE="10"
COPY limits.ini opcache.ini $PHP_INI_DIR/conf.d/

#
WORKDIR /var/www
EXPOSE 80
CMD ["/usr/bin/supervisord"]
