45
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# Image applicative : PHP-FPM 8.4 + code Laravel + add-in compilé.
|
||||
# Build depuis la racine du dépôt (deploy/deploy.sh s'en charge).
|
||||
FROM node:22-bookworm-slim AS addin
|
||||
WORKDIR /build
|
||||
COPY addin/package*.json ./
|
||||
RUN npm ci
|
||||
COPY addin/ ./
|
||||
# addin/.env (valeurs de production) est lu par webpack au build
|
||||
RUN npm run build
|
||||
|
||||
FROM composer:2 AS vendor
|
||||
WORKDIR /app
|
||||
COPY backend/composer.json backend/composer.lock ./
|
||||
RUN composer install --no-dev --no-scripts --no-autoloader --prefer-dist --no-interaction --ignore-platform-req=ext-intl
|
||||
COPY backend/ ./
|
||||
RUN composer dump-autoload --optimize --no-dev --no-scripts
|
||||
|
||||
FROM php:8.4-fpm-bookworm
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends libicu-dev libzip-dev unzip \
|
||||
&& docker-php-ext-install pdo_mysql intl zip opcache \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
COPY docker/php/php.ini /usr/local/etc/php/conf.d/zz-signature.ini
|
||||
|
||||
WORKDIR /var/www/html
|
||||
COPY --from=vendor --chown=www-data:www-data /app ./
|
||||
# Découverte des paquets (Socialite, providers…) : ignorée plus haut avec --no-scripts
|
||||
RUN php artisan package:discover --ansi && chown -R www-data:www-data bootstrap/cache storage
|
||||
|
||||
# Fichiers statiques de l'add-in, publiés par l'entrypoint dans le volume lu par Nginx
|
||||
COPY --from=addin /build/dist /opt/addin-dist
|
||||
COPY docker/php/entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["entrypoint.sh"]
|
||||
CMD ["php-fpm"]
|
||||
Reference in New Issue
Block a user