58 lines
1.8 KiB
Docker
58 lines
1.8 KiB
Docker
ARG SERVER_PHP_IMAGE=unknown
|
|
ARG COMPOSER_IMAGE=composer:latest
|
|
|
|
# Image composer
|
|
FROM ${COMPOSER_IMAGE} AS php_composer
|
|
|
|
# Image du serveur PHP à utiliser (Apache, FrankenPHP...)
|
|
FROM ${SERVER_PHP_IMAGE}
|
|
|
|
# Installation de Composser
|
|
COPY --from=php_composer /usr/bin/composer /usr/local/bin/composer
|
|
|
|
# Activation du mode rewrite d'Apache
|
|
ARG SERVER_PHP_IMAGE
|
|
RUN if echo "$SERVER_PHP_IMAGE" | grep -qi apache; then \
|
|
a2enmod rewrite headers; \
|
|
fi
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
nano \
|
|
git \
|
|
mariadb-client \
|
|
npm \
|
|
# Pour l'extension PHP intl
|
|
libicu-dev \
|
|
# Zip
|
|
unzip zip libzip-dev zlib1g-dev \
|
|
# GD
|
|
libpng-dev libjpeg-dev libwebp-dev libavif-dev libfreetype6-dev \
|
|
&& docker-php-ext-configure gd \
|
|
--with-freetype \
|
|
--with-jpeg \
|
|
--with-webp \
|
|
--with-avif \
|
|
&& docker-php-ext-install zip pdo_mysql gd sockets intl \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Configuration de cron
|
|
ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.44/supercronic-linux-amd64 \
|
|
SUPERCRONIC_SHA1SUM=6eb0a8e1e6673675dc67668c1a9b6409f79c37bc \
|
|
SUPERCRONIC=supercronic-linux-amd64
|
|
|
|
RUN curl -fsSLO "$SUPERCRONIC_URL" \
|
|
&& echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - \
|
|
&& chmod +x "$SUPERCRONIC" \
|
|
&& mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" \
|
|
&& ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic
|
|
|
|
RUN usermod -u 1000 www-data && groupmod -g 1000 www-data
|
|
|
|
# Configuration pour Composer
|
|
RUN mkdir -p /var/www/.cache/composer && chown -R www-data:www-data /var/www/.cache
|
|
ENV COMPOSER_CACHE_DIR=/var/www/.cache/composer
|
|
|
|
# Configuration de NPM
|
|
RUN mkdir -p /var/www/.npm && chown -R www-data:www-data /var/www/.npm
|
|
ENV NPM_CONFIG_CACHE=/var/www/.npm |