#!/bin/sh set -eu # Prépare les répertoires runtime/persistants. mkdir -p \ /data/public \ /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 les fichiers publics versionnés (index.php, assets compilés, etc.) # vers le volume partagé. Le répertoire media est exclu car il contient les # uploads utilisateurs et est géré séparément. mkdir -p /data/public/media 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 /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 "$@"