diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 5ab7c54..9eb14dc 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -44,6 +44,15 @@ jobs: docker exec laravel_php php artisan route:cache docker exec laravel_php php artisan view:cache - # Correction des permissions sur les dossiers écrits par Laravel - docker exec -u 0 laravel_php chown -R www-data:www-data \ - /var/www/storage /var/www/bootstrap/cache + # Correction des permissions sur les dossiers écrits par Laravel. + # Laravel (www-data) doit pouvoir écrire dans storage/ et + # bootstrap/cache, MAIS l'utilisateur SSH doit rester propriétaire + # pour que les futurs "git pull/reset" ne soient pas bloqués (sinon + # les .gitignore suivis passent à www-data et git échoue). + # => propriétaire = utilisateur de déploiement, groupe = www-data, + # avec écriture de groupe + setgid (héritage du groupe www-data). + DEPLOY_UID=$(id -u) + docker exec -u 0 laravel_php sh -c "\ + chown -R ${DEPLOY_UID}:www-data /var/www/storage /var/www/bootstrap/cache && \ + chmod -R ug+rwX /var/www/storage /var/www/bootstrap/cache && \ + find /var/www/storage /var/www/bootstrap/cache -type d -exec chmod g+s {} +"