FROM php:8.2-fpm # Install system dependencies RUN apt-get update && apt-get install -y \ git \ curl \ libpng-dev \ libonig-dev \ libxml2-dev \ libzip-dev \ zip \ unzip \ nodejs \ npm # Clear cache RUN apt-get clean && rm -rf /var/lib/apt/lists/* # Install PHP extensions RUN docker-php-ext-install pdo_mysql pdo_sqlite mbstring exif pcntl bcmath gd zip # Get latest Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Set working directory WORKDIR /var/www # Copy composer files COPY composer.json composer.lock* ./ # Install PHP dependencies RUN composer install --no-dev --optimize-autoloader # Copy application code COPY . . # Install Node.js dependencies and build assets RUN npm install && npm run build # Create storage directories RUN mkdir -p storage/logs storage/cache database # Set permissions RUN chown -R www-data:www-data /var/www \ && chmod -R 755 /var/www/storage /var/www/database # Create PHP-FPM configuration RUN mkdir -p /var/run/php EXPOSE 9000 CMD ["php-fpm"]