Update file Dockerfile

This commit is contained in:
Muhammad Alfin Afif Al Farizi Farham 2026-02-04 10:13:49 +07:00
parent 606076729b
commit 6c2d1ea395

View File

@ -1,9 +1,21 @@
### =============================== ### ===============================
### STAGE 1: COMPOSER ### STAGE 1: COMPOSER (PHP 8.3)
### =============================== ### ===============================
FROM composer:latest AS composer FROM dunglas/frankenphp:1-php8.3 AS composer
WORKDIR /app WORKDIR /app
# Install PHP extensions DULU
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 zip intl exif \
&& rm -rf /var/lib/apt/lists/*
# Install Composer
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
COPY composer.json composer.lock ./ COPY composer.json composer.lock ./
RUN composer install --no-dev --optimize-autoloader --no-interaction RUN composer install --no-dev --optimize-autoloader --no-interaction
@ -15,7 +27,7 @@ FROM node:20-alpine AS frontend
WORKDIR /app WORKDIR /app
# COPY vendor dari composer stage # Vendor DIBUTUHKAN oleh Filament
COPY --from=composer /app/vendor vendor COPY --from=composer /app/vendor vendor
COPY package*.json ./ COPY package*.json ./
@ -30,14 +42,14 @@ RUN npm run build
### =============================== ### ===============================
### STAGE 3: PHP / RUNTIME ### STAGE 3: RUNTIME
### =============================== ### ===============================
FROM dunglas/frankenphp:1-php8.3 FROM dunglas/frankenphp:1-php8.3
ENV SERVER_NAME=":80" ENV SERVER_NAME=":80"
WORKDIR /app WORKDIR /app
# System deps # PHP extensions runtime
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
libpng-dev libjpeg-dev libfreetype6-dev \ libpng-dev libjpeg-dev libfreetype6-dev \
libzip-dev libicu-dev pkg-config \ libzip-dev libicu-dev pkg-config \
@ -45,13 +57,11 @@ RUN apt-get update && apt-get install -y \
&& docker-php-ext-install gd pdo pdo_mysql zip bcmath intl exif \ && docker-php-ext-install gd pdo pdo_mysql zip bcmath intl exif \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Copy app # App source
COPY . . COPY . .
# Copy vendor # Vendor & assets
COPY --from=composer /app/vendor vendor COPY --from=composer /app/vendor vendor
# Copy Vite build
COPY --from=frontend /app/public/build public/build COPY --from=frontend /app/public/build public/build
RUN php artisan optimize:clear RUN php artisan optimize:clear