perf: php-fpm + nginx sur Alpine (547MB -> 92MB)#87
Merged
Conversation
…pache) curl est compilé statiquement dans l'image de base php:8.4-apache (php -m | grep curl le confirme sans rien installer). Le apt-get install libcurl4-openssl-dev + docker-php-ext-install curl recompilait une extension déjà disponible, pour rien. a2enmod ne nécessite lui-même aucun paquet apt, donc plus aucun apt-get dans ce Dockerfile. Testé sur le VPS : curl_init() fonctionne toujours, a2query -m rewrite toujours actif dans l'image finale. Taille : 547MB -> 509MB.
…92MB) Le site n'utilise ni mod_rewrite (aucune RewriteRule/RewriteCond dans le repo) ni aucune autre fonctionnalité Apache — rien ne justifiait de rester sur une base Debian complète avec Apache pour servir 4 fichiers PHP et quelques assets statiques. curl est déjà compilé statiquement dans php:8.4-fpm-alpine (comme dans la variante -apache utilisée jusqu'ici). php/templates/ reste bloqué, via un location nginx équivalent au <Directory> Apache existant. Testé sur le VPS (build --no-cache + conteneur démarré réellement) : - / répond 200 (index.php exécuté via fastcgi) - css/master.css répond 200 (fichier statique) - php/templates/ répond 403 (bloqué, comme avant) - php/get_authorization_code.php répond 302 (exécution PHP réelle, pas d'erreur 500) - curl_init() disponible dans le conteneur Taille de l'image : 547MB -> 92MB (-83%).
This was referenced Jul 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Résumé
Le site n'utilise ni mod_rewrite (aucune
RewriteRule/RewriteConddans le repo) ni aucune autre fonctionnalité Apache — rien ne justifiait de rester sur une base Debian complète (php:8.4-apache) pour servir quelques fichiers PHP et assets statiques. Passage àphp:8.4-fpm-alpine+nginx(installé viaapk).curldéjà compilé statiquement dansphp:8.4-fpm-alpine(vérifié, comme dans la variante-apacheutilisée jusqu'ici).php/templates/reste bloqué via unlocationnginx équivalent au<Directory>Apache existant.php-fpm -D(arrière-plan) puisnginx -g 'daemon off;'(premier plan, PID 1).Mesures
Taille de l'image : 547MB -> 92MB (-83%)
Test plan
--no-cacheréussi sur le VPS/répond 200 (index.php exécuté via fastcgi)css/master.cssrépond 200 (fichier statique)php/templates/répond 403 (bloqué, comme avant)php/get_authorization_code.phprépond 302 (exécution PHP réelle, pas d'erreur 500)curl_init()disponible dans le conteneurCloses #88