docker-laravel-stack/scripts/run_dev_stack.sh

46 lines
1.4 KiB
Bash
Raw Normal View History

2025-10-31 11:29:14 -04:00
#!/bin/bash
# ==============================================
# 🚀 Run Laravel Docker Stack with ACL fix
# ==============================================
current_user=$(whoami)
echo "Setting ACLs for user: $current_user"
# Ensure user exists
if ! id -u "$current_user" > /dev/null 2>&1; then
echo "Error: user '$current_user' does not exist. Exiting."
exit 1
fi
# Set ACL for ./app directory
sudo setfacl -R -m u:"$current_user":rwx ./app
# Build and start containers
docker compose up -d --build "$@"
# -------------------------------
# PSR-4 Autoloading via Composer
# -------------------------------
if docker compose ps -q php | grep -q .; then
echo "Running Composer install as root inside PHP container..."
docker compose exec -T --user 0 php bash -c "cd /var/www/app/workopia/ && composer install --no-dev --prefer-dist --ignore-platform-reqs"
if [ $? -eq 0 ]; then
echo "Composer installed successfully."
echo "Fixing permissions for vendor and composer.lock..."
sudo chown -R ${UID}:${GID} ./app/workopia/vendor
sudo chown ${UID}:${GID} ./app/workopia/composer.lock
else
echo "⚠️ Composer install failed. Check PHP container logs."
fi
else
echo "⚠️ PHP container not running. Cannot run Composer install."
fi
# Optional: view container status
docker compose ps
sleep 7
docker compose ps
sleep 7
docker compose ps