FROM php:8.0-fpm-alpine

WORKDIR /var/www/html/project

# INSTALAÇÃO NGINX:
RUN apk update \
    && apk upgrade \
    && apk add nginx supervisor

COPY ./docker/nginx/nginx.conf /etc/nginx/nginx.conf

RUN mkdir -p /usr/share/nginx/www

RUN mkdir -p /run/nginx

COPY docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf

# Install dependencies
RUN apk add --no-cache --update --virtual .phpize-deps $PHPIZE_DEPS \
  libxml2-dev curl-dev linux-headers oniguruma-dev imap-dev openssl-dev

# install extensions
RUN docker-php-ext-install mysqli pdo pdo_mysql dom curl mbstring imap opcache

# install redis php and enable
RUN pecl install redis \
  && docker-php-ext-enable redis

# Composer
RUN \
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
    && HASH="$(wget -q -O - https://composer.github.io/installer.sig)" \
    && php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
    && php composer-setup.php --version=2.0.3 --install-dir=/usr/local/bin --filename=composer

# Copy files
COPY / /var/www/html/project

RUN composer install

# Setting permissions
RUN \
    chown -R www-data:www-data /var/www/html/project && \
    find /var/www/html/project -type f -exec chmod 644 {} \; && \
    find /var/www/html/project -type d -exec chmod 755 {} \;

EXPOSE 80 443

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
