37 lines
1.1 KiB
Docker
37 lines
1.1 KiB
Docker
FROM composer:2 AS vendor
|
|
WORKDIR /app
|
|
|
|
ARG REPO_URL
|
|
ARG DEPLOY_KEY_B64
|
|
|
|
# Config SSH pour la Deploy Key
|
|
RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh
|
|
RUN echo "$DEPLOY_KEY_B64" | base64 -d > /root/.ssh/id_rsa && chmod 600 /root/.ssh/id_rsa
|
|
RUN ssh-keyscan git.ewelit.fr >> /root/.ssh/known_hosts
|
|
|
|
# Cloner le repo privé de l'app
|
|
RUN git clone --depth=1 $REPO_URL .
|
|
|
|
# Installer les dépendances PHP
|
|
RUN composer install --no-interaction --prefer-dist --no-progress
|
|
|
|
# Stage runtime PHP-FPM
|
|
FROM php:8.4-fpm-alpine
|
|
|
|
RUN apk add --no-cache icu-libs libzip git bash \
|
|
&& apk add --no-cache --virtual .build-deps $PHPIZE_DEPS icu-dev libzip-dev oniguruma-dev \
|
|
&& docker-php-ext-configure intl \
|
|
&& docker-php-ext-install -j$(nproc) pdo_mysql intl opcache \
|
|
&& apk del .build-deps
|
|
|
|
COPY ./php/conf.d/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
|
WORKDIR /var/www/html
|
|
COPY --from=vendor /app /var/www/html
|
|
RUN chown -R www-data:www-data /var/www/html
|
|
|
|
COPY ./php/entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
|
|
|
EXPOSE 9000
|
|
ENTRYPOINT ["entrypoint.sh"]
|