36 lines
1.1 KiB
Bash
36 lines
1.1 KiB
Bash
#!/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.
|
|
find /data/public -mindepth 1 -maxdepth 1 -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 "$@"
|