34 lines
1.1 KiB
Docker
34 lines
1.1 KiB
Docker
# 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"] |