FROM php:8.5-rc-cli # Install system dependencies including libraries for GD and other extensions RUN apt-get update && apt-get install -y \ git \ curl \ libpng-dev \ libjpeg62-turbo-dev \ libfreetype6-dev \ libonig-dev \ libxml2-dev \ libzip-dev \ libicu-dev \ zip \ unzip \ procps \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean # Configure GD extension with JPEG and FreeType support RUN docker-php-ext-configure gd --with-freetype --with-jpeg # Install PHP extensions for worker functionality and web features # Note: opcache and sodium are already built into PHP 8.5 RUN docker-php-ext-install -j$(nproc) \ pdo_mysql \ mbstring \ exif \ pcntl \ posix \ sockets \ gd \ zip \ intl \ bcmath # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Set working directory WORKDIR /var/www/html # Note: Application files and dependencies will be available via mounted volume # No need to copy files during build since we'll use the mounted project directory # Health check for the worker HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD ps aux | grep -v grep | grep "worker.php" || exit 1 # Run worker directly since permissions are handled by docker-compose user directive CMD ["php", "/var/www/html/worker.php"]