FROM dunglas/frankenphp:1-php8.3 ENV SERVER_NAME=":80" WORKDIR /app # System dependencies RUN apt-get update && apt-get install -y \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libzip-dev \ libicu-dev \ pkg-config \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install \ gd \ pdo \ pdo_mysql \ zip \ bcmath \ intl \ exif \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Copy composer files first (cache friendly) COPY composer.json composer.lock ./ COPY --from=composer:latest /usr/bin/composer /usr/bin/composer RUN composer install --no-dev --optimize-autoloader --no-interaction --no-scripts # Copy source code terakhir COPY . . RUN composer clear-cache