permission git
This commit is contained in:
@@ -10,6 +10,10 @@ services:
|
||||
volumes:
|
||||
- ./src:/var/www/html
|
||||
- ./docker/php/custom.ini:/usr/local/etc/php/conf.d/99-custom.ini
|
||||
# Storage & bootstrap/cache guna named volume supaya chown www-data
|
||||
# (dalam entrypoint) tak menukar pemilikan fail git di host.
|
||||
- storage_data:/var/www/html/storage
|
||||
- bootstrap_cache:/var/www/html/bootstrap/cache
|
||||
environment:
|
||||
APACHE_DOCUMENT_ROOT: /var/www/html/public
|
||||
APP_ENV: local
|
||||
@@ -43,3 +47,9 @@ networks:
|
||||
backend_net:
|
||||
name: backend_net
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
storage_data:
|
||||
driver: local
|
||||
bootstrap_cache:
|
||||
driver: local
|
||||
@@ -1,17 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# Bind mount (./src:/var/www/html) menindih ownership dari image, jadi kita
|
||||
# betulkan permission storage setiap kali container start — bukan masa build.
|
||||
# storage/ & bootstrap/cache/ ialah named volume (lihat docker-compose.yml).
|
||||
# Pada mount pertama ia kosong, jadi kita cipta struktur penuh Laravel dan
|
||||
# betulkan permission setiap kali container start. Sebab ia named volume
|
||||
# (bukan bind mount host), chown ini TIDAK menyentuh fail git di host.
|
||||
mkdir -p \
|
||||
storage/app/public \
|
||||
storage/framework/cache/data \
|
||||
storage/framework/cache/laravel-excel \
|
||||
storage/framework/sessions \
|
||||
storage/framework/views \
|
||||
storage/framework/testing \
|
||||
storage/logs \
|
||||
bootstrap/cache
|
||||
|
||||
chown -R www-data:www-data storage bootstrap/cache
|
||||
chmod -R 775 storage bootstrap/cache
|
||||
|
||||
# Pautan symbolic untuk fail awam (idempotent)
|
||||
php artisan storage:link 2>/dev/null || true
|
||||
|
||||
# Jalankan arahan utama container (apache2-foreground)
|
||||
exec "$@"
|
||||
|
||||
Reference in New Issue
Block a user