# Utilise l'image FrankenPHP officielle (basée sur PHP 8.3, ajuste si tu as une version spécifique) FROM dunglas/frankenphp:php8.3 RUN apt-get update && apt-get install -y \ unzip \ && rm -rf /var/lib/apt/lists/* # Installe Composer COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer # Installe les extensions PHP nécessaires pour Symfony (pdo_mysql par exemple, si tu utilises MySQL) RUN install-php-extensions \ zip \ intl \ opcache # Définit le répertoire de travail WORKDIR /app # Copie les fichiers Composer pour installer les dépendances COPY . . RUN composer install --optimize-autoloader # Copie le reste du code source (le skeleton et webapp) # Configure les permissions (pour Symfony cache et logs) RUN chown -R www-data:www-data var # Copie le Caddyfile pour la configuration du serveur COPY Caddyfile /etc/caddy/Caddyfile # Expose le port (FrankenPHP écoute sur 443 par défaut pour HTTPS, mais on peut mapper sur HTTP pour dev) EXPOSE 80 # Commande de démarrage : lance FrankenPHP en mode worker pour Symfony CMD ["frankenphp", "php-server", "--root", "public"]