simsimi_ai_agent / start.sh
youdie006
Fix: Add-multi env
aa58f77
#!/bin/bash
# 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