Files
netslim-blog/docker/php/entrypoint.sh
2026-03-22 12:51:14 +01:00

29 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
set -eu
# Prépare les répertoires runtime/persistants.
mkdir -p /data/public /data/public/media /var/www/app/database /var/www/app/public/media /var/www/app/var/cache/twig /var/www/app/var/cache/htmlpurifier /var/www/app/var/cache/di /var/www/app/var/logs
# Synchronise uniquement les fichiers publics versionnés (index.php, assets
# compilés, favicon, etc.) vers le répertoire partagé avec Nginx. Le dossier
# media est préservé car il contient les uploads persistants.
find /data/public -mindepth 1 -maxdepth 1 ! -name media -exec rm -rf {} +
for item in /var/www/app/public/*; do
[ -e "$item" ] || continue
name=$(basename "$item")
[ "$name" = "media" ] && continue
cp -a "$item" /data/public/
done
# Permissions sur les répertoires persistants. Doit s'exécuter en root avant
# le démarrage de PHP-FPM.
chown -R www-data:www-data /data/public /var/www/app/database /var/www/app/var /var/www/app/public/media
# Invalide les caches compilés à chaque déploiement.
rm -rf /var/www/app/var/cache/twig/*
rm -rf /var/www/app/var/cache/di/*
# Passe la main au processus principal.
exec "$@"