set -e | |
# Load environment variables | |
source .env | |
# Check if we should run in UI or API mode | |
if [ "$ENABLE_UI" = "true" ]; then | |
echo "Starting Gradio UI with API backend..." | |
exec python app.py --api-server & | |
sleep 5 # Give the API server time to start | |
exec python app.py | |
elif [ "$API_ONLY" = "true" ]; then | |
echo "Starting API server only..." | |
exec gunicorn --bind 0.0.0.0:$PORT --workers 1 --timeout 300 "image_descriptor:app" | |
else | |
# Default behavior for Hugging Face Spaces: run both | |
echo "Starting service in Hugging Face Spaces mode..." | |
exec python app.py | |
fi |