Spaces:
Runtime error
Runtime error
| # start.sh - 환경 자동 감지 스마트 시작 스크립트 | |
| echo "🚀 마음이 AI 시작 중..." | |
| # 환경 감지 | |
| if [ -n "$SPACE_ID" ] || [ -n "$SPACE_AUTHOR_NAME" ]; then | |
| echo "🤗 허깅페이스 Spaces 환경 감지" | |
| ENVIRONMENT="huggingface" | |
| PORT=7860 | |
| WORKERS=1 | |
| RELOAD="" | |
| elif [ "$DEVELOPMENT_MODE" = "true" ] || [ -f "/.dockerenv" ] && [ -n "$LOCAL_DEV" ]; then | |
| echo "🏠 로컬 개발 환경 감지" | |
| ENVIRONMENT="local_dev" | |
| PORT=7860 | |
| WORKERS=1 | |
| RELOAD="--reload" | |
| elif [ -n "$PRODUCTION" ]; then | |
| echo "🏭 프로덕션 환경 감지" | |
| ENVIRONMENT="production" | |
| PORT=7860 | |
| WORKERS=2 | |
| RELOAD="" | |
| else | |
| echo "🔧 기본 환경으로 시작" | |
| ENVIRONMENT="default" | |
| PORT=7860 | |
| WORKERS=1 | |
| RELOAD="" | |
| fi | |
| echo "📊 환경 정보:" | |
| echo " - 환경: $ENVIRONMENT" | |
| echo " - 포트: $PORT" | |
| echo " - 워커 수: $WORKERS" | |
| echo " - 리로드: ${RELOAD:-"비활성화"}" | |
| # Python 환경 확인 | |
| echo "🐍 Python 환경 확인:" | |
| python --version | |
| pip show fastapi uvicorn | grep Version | |
| # 필수 디렉토리 확인 | |
| echo "📁 디렉토리 확인:" | |
| mkdir -p /app/data /app/cache /app/logs /app/static | |
| ls -la /app/ | |
| # 환경별 시작 방식 | |
| case $ENVIRONMENT in | |
| "huggingface") | |
| echo "🤗 허깅페이스 모드로 시작..." | |
| exec python -m uvicorn main:app \ | |
| --host 0.0.0.0 \ | |
| --port $PORT \ | |
| --timeout-keep-alive 300 \ | |
| --log-level info | |
| ;; | |
| "local_dev") | |
| echo "🏠 로컬 개발 모드로 시작..." | |
| exec python -m uvicorn main:app \ | |
| --host 0.0.0.0 \ | |
| --port $PORT \ | |
| --reload \ | |
| --log-level debug | |
| ;; | |
| "production") | |
| echo "🏭 프로덕션 모드로 시작..." | |
| exec gunicorn main:app \ | |
| -w $WORKERS \ | |
| -k uvicorn.workers.UvicornWorker \ | |
| --bind 0.0.0.0:$PORT \ | |
| --timeout 300 \ | |
| --preload \ | |
| --log-level info | |
| ;; | |
| *) | |
| echo "🔧 기본 모드로 시작..." | |
| exec python -m uvicorn main:app \ | |
| --host 0.0.0.0 \ | |
| --port $PORT \ | |
| --log-level info | |
| ;; | |
| esac |