2025-12-22 12:54:34 +03:00

49 lines
1.6 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FROM php:8.1-fpm-alpine
ARG UID
ARG GID
ARG USER
ENV UID=${UID}
ENV GID=${GID}
ENV USER=${USER}
# Удаляем группу, которая мешает созданию пользователя с нужным GID
RUN delgroup dialout
# Создаём системного пользователя
RUN addgroup -g ${GID} --system ${USER}
RUN adduser -G ${USER} --system -D -s /bin/sh -u ${UID} ${USER}
# Настраиваем PHP-FPM под нашего пользователя
RUN sed -i "s/user = www-data/user = ${USER}/g" /usr/local/etc/php-fpm.d/www.conf
RUN sed -i "s/group = www-data/group = ${USER}/g" /usr/local/etc/php-fpm.d/www.conf
RUN echo "php_admin_flag[log_errors] = on" >> /usr/local/etc/php-fpm.d/www.conf
# Устанавливаем зависимости для MySQL
RUN apk add --no-cache mariadb-connector-c-dev
# Устанавливаем build-зависимости временно
RUN apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
mariadb-dev \
linux-headers
# Устанавливаем PHP-расширения
RUN docker-php-ext-install pdo pdo_mysql bcmath
# Устанавливаем Redis
RUN pecl install redis \
&& docker-php-ext-enable redis
# Удаляем временные build-зависимости
RUN apk del --no-cache .build-deps
# Устанавливаем Composer
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
# Переключаемся на непривилегированного пользователя
USER ${USER}
WORKDIR /app
CMD ["php-fpm", "-y", "/usr/local/etc/php-fpm.conf", "-R"]