openclassify/docker/php/Dockerfile
2023-06-26 19:10:01 +03:00

60 lines
1.4 KiB
Docker

FROM php:8.2-fpm-bullseye AS base
WORKDIR /workspace
# timezone environment
ENV TZ=UTC \
# locale
LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8 \
# composer environment
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/composer
COPY --from=composer:2.5 /usr/bin/composer /usr/bin/composer
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
locales \
git \
unzip \
libzip-dev \
libicu-dev \
libonig-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& locale-gen en_US.UTF-8 \
&& localedef -f UTF-8 -i en_US en_US.UTF-8 \
&& docker-php-ext-install \
intl \
pdo_mysql \
zip \
bcmath \
&& composer config -g process-timeout 3600 \
&& composer config -g repos.packagist composer https://packagist.org
COPY . .
CMD ["docker/php/entrypoint.sh"]
FROM base AS development
COPY ./docker/php/php.development.ini /usr/local/etc/php/php.ini
FROM development AS development-xdebug
RUN pecl install xdebug && \
docker-php-ext-enable xdebug
COPY ./docker/php/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
FROM base AS deploy
COPY ./docker/php/php.deploy.ini /usr/local/etc/php/php.ini
COPY ./ /workspace
RUN composer install -q -n --no-ansi --no-dev --no-scripts --no-progress --prefer-dist \
&& chmod -R 777 storage bootstrap/cache \
&& php artisan optimize:clear \
&& php artisan optimize