# ========================= # Stage 1: Dependencies # ========================= FROM composer:2 AS vendor WORKDIR /app COPY . . # install dependencies cleanly (NO MIRROR, NO DEV) RUN composer install \ --no-dev \ --prefer-dist \ --no-interaction \ --optimize-autoloader \ --no-scripts # ========================= # Stage 2: Runtime # ========================= FROM php:8.2-fpm-bookworm WORKDIR /var/www/html # system deps RUN apt-get update && apt-get install -y \ git unzip libzip-dev curl \ && docker-php-ext-install pdo pdo_mysql zip \ && rm -rf /var/lib/apt/lists/* # copy vendor from stage 1 COPY --from=vendor /app /var/www/html # permissions RUN chown -R www-data:www-data /var/www/html COPY ./docker/php/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] CMD ["php-fpm"] EXPOSE 9000 CMD ["php-fpm"]