Spaces:
Runtime error
Runtime error
| echo "π Starting Flowise..." | |
| # Start Flowise in background | |
| npx flowise start --PORT=7860 & | |
| FLOWISE_PID=$! | |
| # Better wait logic - check if Flowise is actually responding | |
| echo "β³ Waiting for Flowise to be ready..." | |
| MAX_ATTEMPTS=30 | |
| ATTEMPT=0 | |
| while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do | |
| if curl -s http://localhost:7860 > /dev/null 2>&1; then | |
| echo "β Flowise is running!" | |
| # Check database connection | |
| if [ ! -z "$DATABASE_URL" ] || [ ! -z "$DATABASE_HOST" ]; then | |
| echo "β Database configured: Using external NEON database." | |
| else | |
| echo "β οΈ Using default SQLite database" | |
| fi | |
| break | |
| fi | |
| ATTEMPT=$((ATTEMPT + 1)) | |
| echo "Waiting... attempt $ATTEMPT/$MAX_ATTEMPTS" | |
| sleep 2 | |
| done | |
| if [ $ATTEMPT -eq $MAX_ATTEMPTS ]; then | |
| echo "β Flowise failed to start in time" | |
| exit 1 | |
| fi | |
| # Import chatflows if they exist | |
| if [ -f /data/chatflows/chatflows.json ]; then | |
| echo "" | |
| echo "π¦ Importing chatflows..." | |
| # Check if file is not empty | |
| if [ -s /data/chatflows/chatflows.json ]; then | |
| CHATFLOW_COUNT=$(jq '. | length' /data/chatflows/chatflows.json 2>/dev/null) | |
| if [ "$CHATFLOW_COUNT" -gt 0 ]; then | |
| echo "Found $CHATFLOW_COUNT chatflow(s) to import" | |
| # Import each chatflow | |
| COUNTER=1 | |
| cat /data/chatflows/chatflows.json | jq -c '.[]' | while read chatflow; do | |
| echo " Importing chatflow $COUNTER/$CHATFLOW_COUNT..." | |
| RESPONSE=$(curl -X POST http://localhost:7860/api/v1/chatflows \ | |
| -H "Content-Type: application/json" \ | |
| -d "$chatflow" \ | |
| -s -w "\n%{http_code}") | |
| HTTP_CODE=$(echo "$RESPONSE" | tail -n1) | |
| if [ "$HTTP_CODE" = "201" ] || [ "$HTTP_CODE" = "200" ]; then | |
| echo " β Chatflow $COUNTER imported successfully" | |
| else | |
| echo " β οΈ Chatflow $COUNTER import returned code $HTTP_CODE" | |
| fi | |
| COUNTER=$((COUNTER + 1)) | |
| done | |
| echo "" | |
| echo "β Import complete!" | |
| echo "" | |
| # List imported chatflows | |
| echo "π Available chatflows:" | |
| CHATFLOWS=$(curl -s http://localhost:7860/api/v1/chatflows) | |
| echo "$CHATFLOWS" | jq -r '.[] | " π€ \(.name) (ID: \(.id))"' 2>/dev/null || echo " (Unable to list chatflows)" | |
| else | |
| echo "β οΈ chatflows.json is empty - no chatflows to import" | |
| fi | |
| else | |
| echo "β οΈ chatflows.json is empty" | |
| fi | |
| else | |
| echo "β οΈ No chatflows.json found" | |
| echo "Create chatflows in the UI and export them to /data/chatflows/chatflows.json" | |
| fi | |
| echo "" | |
| echo "π Flowise is ready!" | |
| echo "π Access your Space at the URL above" | |
| echo "π Login: admin / yourpassword123" | |
| echo "" | |
| # Keep container running | |
| wait $FLOWISE_PID |