Update file Dockerfile
This commit is contained in:
parent
151ea8d58a
commit
606076729b
53
Dockerfile
53
Dockerfile
@ -1,20 +1,36 @@
|
||||
### ===============================
|
||||
### STAGE 1: FRONTEND BUILD
|
||||
### STAGE 1: COMPOSER
|
||||
### ===============================
|
||||
FROM composer:latest AS composer
|
||||
|
||||
WORKDIR /app
|
||||
COPY composer.json composer.lock ./
|
||||
RUN composer install --no-dev --optimize-autoloader --no-interaction
|
||||
|
||||
|
||||
### ===============================
|
||||
### STAGE 2: FRONTEND BUILD
|
||||
### ===============================
|
||||
FROM node:20-alpine AS frontend
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# COPY vendor dari composer stage
|
||||
COPY --from=composer /app/vendor vendor
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
|
||||
COPY resources resources
|
||||
COPY vite.config.* .
|
||||
COPY tailwind.config.* .
|
||||
COPY postcss.config.* .
|
||||
|
||||
RUN npm run build
|
||||
|
||||
|
||||
### ===============================
|
||||
### STAGE 2: PHP / LARAVEL
|
||||
### STAGE 3: PHP / RUNTIME
|
||||
### ===============================
|
||||
FROM dunglas/frankenphp:1-php8.3
|
||||
|
||||
@ -23,30 +39,19 @@ WORKDIR /app
|
||||
|
||||
# System deps
|
||||
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/*
|
||||
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 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Composer
|
||||
COPY composer.json composer.lock ./
|
||||
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||||
RUN composer install --no-dev --optimize-autoloader --no-interaction
|
||||
|
||||
# App source
|
||||
# Copy app
|
||||
COPY . .
|
||||
|
||||
# COPY HASIL VITE BUILD
|
||||
# Copy vendor
|
||||
COPY --from=composer /app/vendor vendor
|
||||
|
||||
# Copy Vite build
|
||||
COPY --from=frontend /app/public/build public/build
|
||||
|
||||
RUN php artisan config:clear \
|
||||
&& php artisan view:clear \
|
||||
&& php artisan route:clear
|
||||
|
||||
RUN php artisan optimize:clear
|
||||
|
||||
Loading…
Reference in New Issue
Block a user