42 lines
880 B
Docker
42 lines
880 B
Docker
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 php artisan package:discover --ansi \
|
|
&& php artisan optimize:clear
|
|
|
|
|
|
RUN composer clear-cache
|