# Image de production de l'API Laravel (CESIZen). FROM php:8.4-cli # Extensions PHP nécessaires (PostgreSQL, bcmath, redis) RUN apt-get update && apt-get install -y \ libpq-dev \ unzip \ git \ && docker-php-ext-install pdo pdo_pgsql bcmath \ && pecl install redis && docker-php-ext-enable redis \ && rm -rf /var/lib/apt/lists/* COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer WORKDIR /app # Dépendances PHP de production uniquement (cache Docker) COPY composer.json composer.lock ./ RUN composer install --no-dev --no-scripts --no-autoloader --prefer-dist --no-interaction # Code source COPY . . RUN composer dump-autoload --optimize --no-dev # Script de démarrage (migrations + seed idempotent + serveur) COPY docker/entrypoint.sh /usr/local/bin/entrypoint RUN chmod +x /usr/local/bin/entrypoint \ && chmod -R ug+rw storage bootstrap/cache EXPOSE 8000 CMD ["entrypoint"]