diff --git a/entrypoint.sh b/entrypoint.sh index 7c23b2a5..47b96e1e 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -9,32 +9,65 @@ echo "========================================" echo "Current user: $(whoami)" echo "Current directory: $(pwd)" -# Ensure directories exist with proper permissions -echo "Ensuring storage directories exist..." -mkdir -p storage/framework/{cache,sessions,views} +# Create ALL required Laravel directories +echo "Creating storage directories..." +mkdir -p storage/framework/cache +mkdir -p storage/framework/sessions +mkdir -p storage/framework/views +mkdir -p storage/framework/testing mkdir -p storage/logs mkdir -p bootstrap/cache +# Also create the view cache directory (sometimes needed) +mkdir -p storage/framework/views + # Set permissions echo "Setting permissions..." chmod -R 777 storage chmod -R 777 bootstrap/cache +# Create cache file if it doesn't exist +touch storage/framework/cache/.gitignore +touch storage/framework/sessions/.gitignore +touch storage/framework/views/.gitignore +touch storage/logs/.gitignore + +# Verify directories exist +echo "Verifying directories..." +ls -la storage/framework/ +ls -la bootstrap/ + # Check if .env exists, create if not if [ ! -f .env ]; then echo "Creating .env file..." if [ -f .env.example ]; then cp .env.example .env else - echo "APP_NAME=Laravel" > .env - echo "APP_ENV=production" >> .env - echo "APP_KEY=" >> .env - echo "APP_DEBUG=false" >> .env - echo "APP_URL=http://localhost" >> .env + cat > .env << 'EOF' +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost +LOG_CHANNEL=stack +EOF fi fi -# Run migrations if needed (optional) +# Generate key if not present +if ! grep -q "APP_KEY=" .env || grep -q "APP_KEY=$" .env; then + echo "Generating application key..." + php artisan key:generate --no-interaction --force || echo "Key generation failed" +fi + +# Clear all caches to ensure fresh state +echo "Clearing caches..." +php artisan config:clear || true +php artisan cache:clear || true +php artisan view:clear || true +php artisan route:clear || true + +# Optional: Run migrations if needed # php artisan migrate --force echo "========================================"