From d9988d59a4a7c8daa55c5be41c65e2623a559386 Mon Sep 17 00:00:00 2001 From: eko Date: Sun, 12 Apr 2026 22:38:52 +0700 Subject: [PATCH] fix entrypoint --- entrypoint.sh | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 5d47db71..bed55c28 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -81,22 +81,27 @@ grep "APP_KEY" .env # Ensure vendor directory matches composer.lock exactly, syncing missing packages echo "Verifying and synchronizing Composer dependencies..." -# Run composer install to physically ensure all files (like laravel/prompts) are present in the volume -composer install --no-interaction --optimize-autoloader - -# Ensure vendor directory matches composer.lock exactly, syncing missing packages -echo "Verifying and synchronizing Composer dependencies..." - -# Check if composer.json has new packages not in lock file -if composer validate --no-check-all --no-check-publish 2>/dev/null | grep -q "The lock file is not up to date"; then - echo "⚠️ Composer lock file is outdated. Running composer update to sync..." - composer update --no-interaction --optimize-autoloader +# Check if scribe is in composer.json but not installed +if grep -q "knuckleswtf/scribe" composer.json; then + if ! composer show --locked knuckleswtf/scribe --no-ansi 2>/dev/null | grep -q "name"; then + echo "📦 knuckleswtf/scribe found in composer.json but not in lock file. Installing..." + composer require --dev knuckleswtf/scribe --no-interaction --no-progress --update-with-dependencies + else + echo "✅ knuckleswtf/scribe is already in lock file" + composer install --no-interaction --optimize-autoloader + fi else - # Run composer install to physically ensure all files are present + # Normal install composer install --no-interaction --optimize-autoloader fi +# If install fails, try update +if [ $? -ne 0 ]; then + echo "⚠️ Composer install failed, attempting update..." + composer update --no-interaction --optimize-autoloader --with-all-dependencies +fi + # Install and publish Scribe assets echo "Setting up Scribe/OpenAPI documentation..."