# FROM php:7.4-fpm-alpine

FROM php:8.1-fpm-alpine

LABEL maintainer="ryanda <github.com/ryanda>"

RUN apk add --no-cache --virtual .deps ldb-dev libldap openldap-dev imagemagick imagemagick-libs imagemagick-dev icu-libs postgresql-dev freetype freetype-dev libjpeg-turbo libjpeg-turbo-dev libwebp-dev libxpm-dev libpng libpng-dev curl zip unzip zip zlib-dev libzip-dev gcc musl-dev linux-headers gmp-dev pcre-dev ${PHPIZE_DEPS} && \
    #docker-php-ext-configure gd --with-freetype --with-webp --with-jpeg && \
    docker-php-ext-configure zip && \
    docker-php-ext-configure ldap --with-libdir=lib/ && \
    NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \
    curl -sS https://getcomposer.org/installer | php -- \
    --install-dir=/usr/bin --filename=composer && \
    docker-php-ext-install -j$(nproc) ldap pdo_pgsql pdo_mysql mysqli zip gmp gd bcmath && \
    pecl channel-update pecl.php.net && pecl install redis && pecl install imagick && \
    apk del pcre-dev ${PHPIZE_DEPS} && \
    docker-php-ext-enable ldap && docker-php-ext-enable redis && docker-php-ext-enable imagick

RUN curl -s https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/ --filename=composer && \
    COMPOSER_ALLOW_SUPERUSER=1 && \
    PATH="./vendor/bin:$PATH"

RUN echo $' \n\
    memory_limit=2G; \n\
    max_execution_time=0; \n\
    post_max_size=1024M; \n\
    upload_max_filesize=1024M; \n\
    display_errors=1;' > /usr/local/etc/php/conf.d/docker-php-custom.ini

COPY composer.json /var/www/
COPY database /var/www/database

WORKDIR /var/www

COPY . /var/www

COPY docker_conf/scheduler/start.sh /usr/local/bin/start

RUN mkdir -p /var/www/storage/logs && \
    mkdir -p /var/www/storage/framework/cache && \
    mkdir -p /var/www/storage/framework/sessions && \
    mkdir -p /var/www/storage/framework/views && \
    chown -R 82:82 /var/www/storage && \
    chmod -R 775 /var/www/storage

RUN composer install \
    --ignore-platform-reqs \
    --no-interaction \
    --no-plugins \
    --no-scripts \
    --prefer-dist

RUN chmod u+x /usr/local/bin/start
RUN chown 82:82 /usr/local/bin/start
