Update file Dockerfile
This commit is contained in:
parent
606076729b
commit
6c2d1ea395
28
Dockerfile
28
Dockerfile
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user