FROM php:7.4-fpm-alpine
# FROM alpine:latest

WORKDIR /app

# Essentials
RUN echo "Asia/Jakarta" > /etc/timezone

# Install nginx
RUN apk add --no-cache nginx supervisor

# Install PHP Extensions
RUN set -ex && apk --no-cache add icu-dev
RUN  docker-php-ext-install opcache pdo mysqli pdo_mysql \
    && docker-php-ext-enable pdo_mysql
RUN docker-php-ext-configure intl && docker-php-ext-install intl

# Copy php-fpm configs
COPY ./_docker/php-fpm/www.conf /usr/local/etc/php-fpm.d/www.conf
COPY ./_docker/php-fpm/php.ini /usr/local/etc/php/conf.d
COPY ./_docker/php-fpm/opcache.ini /usr/local/etc/php/conf.d/opcache.ini

# Copy nginx-configs
COPY ./_docker/nginx/app.conf /etc/nginx/conf.d/default.conf
COPY ./_docker/nginx/nginx.conf /etc/nginx/nginx.conf

# Copy supervisord config
COPY ./_docker/supervisord/supervisord.conf /etc/supervisord.conf

COPY --chown=www-data:www-data ./src/ .

EXPOSE 80 443

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