FROM php:8.4-fpm # Install system dependencies RUN apt-get update && apt-get install -y \ build-essential \ libpng-dev \ libjpeg62-turbo-dev \ libfreetype6-dev \ locales \ zip \ jpegoptim optipng pngquant gifsicle \ vim \ unzip \ git \ curl \ libonig-dev \ libxml2-dev \ libzip-dev \ nodejs \ npm # Clear cache RUN apt-get clean && rm -rf /var/lib/apt/lists/* # Install PHP extensions RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd zip # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Set working directory WORKDIR /var/www # Copy application code COPY . /var/www # Install PHP dependencies RUN composer install --optimize-autoloader --no-dev # Install Node dependencies and build assets RUN npm install && npm run build # Copy entrypoint script COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh RUN chmod +x /usr/local/bin/docker-entrypoint.sh # Change ownership RUN chown -R www-data:www-data /var/www RUN chmod -R 755 /var/www/storage RUN chmod -R 755 /var/www/bootstrap/cache # Expose port EXPOSE 9000 ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] CMD ["php-fpm"]