FROM dunglas/frankenphp:php8.5-alpine

ARG USER_ID=1000
ARG GROUP_ID=1000
ARG USER_NAME=appuser

RUN install-php-extensions \
    pdo_mysql

COPY --from=composer:2 /usr/bin/composer /usr/bin/composer

RUN addgroup -g ${GROUP_ID} ${USER_NAME} && \
    adduser -u ${USER_ID} -D -S -G ${USER_NAME} ${USER_NAME}

RUN setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/frankenphp

RUN mkdir -p /data/caddy /config/caddy && \
    chown -R ${USER_NAME}:${USER_NAME} /data /config && \
    chmod -R 755 /data /config

WORKDIR /var/www

COPY --chown=${USER_NAME}:${USER_NAME} laravel/ /var/www/

RUN chown -R ${USER_NAME}:${USER_NAME} /var/www && \
    find /var/www -type f -exec chmod 644 {} \; && \
    find /var/www -type d -exec chmod 755 {} \; && \
    chmod -R 775 /var/www/storage /var/www/bootstrap

USER ${USER_NAME}