FROM php:8.4-fpm # Set working dir WORKDIR /var/www/html # Install system deps RUN apt-get update && apt-get install -y \ git curl libpng-dev libonig-dev libxml2-dev zip unzip \ && docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd # Install Composer COPY --from=composer:2 /usr/bin/composer /usr/bin/composer # Copy app code COPY . . # Install PHP deps (no dev) RUN composer install --no-dev --optimize-autoloader --no-interaction # Node build (optional if you need assets) FROM node:20 AS frontend WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build # Copy built assets into PHP image FROM php:8.4-fpm WORKDIR /var/www/html COPY --from=0 /var/www/html . COPY --from=frontend /app/public ./public # Fix permissions for Laravel RUN chown -R www-data:www-data storage bootstrap/cache CMD ["php-fpm"]