cnp-ai/it_value_check
0
IT Career-Value Check
IT 산업 종사자 보상경쟁력 자가진단 서비스입니다. 이 저장소는 Next.js 프런트엔드와 FastAPI 백엔드를 하나의 Docker 컨테이너로 실행하도록 구성되어 있어 Hugging Face Docker Space에 배포하기 적합합니다.
Stack
- Frontend: Next.js
- Backend: FastAPI + Uvicorn
- Container: Docker
External API Usage
이 앱은 Gemini API를 사용하지 않습니다.
- 사용자 요청은 내부 FastAPI 엔드포인트(
/api/*)로 처리됩니다. - Hugging Face 배포를 위해 Gemini API 키를 설정할 필요가 없습니다.
Local Run
1. Frontend dependencies
npm install2. Python dependencies
pip install -r requirements.txt3. Frontend build
npm run build4. API server run
uvicorn core.api:app --host 0.0.0.0 --port 7860브라우저에서 http://localhost:7860 으로 접속합니다.
Docker Run
docker build -t it-wage-self-diagnosis .
docker run -p 7860:7860 it-wage-self-diagnosis브라우저에서 http://localhost:7860 으로 접속합니다.
Deploy To Hugging Face Docker Space
1. Create a new Space
Hugging Face에서 새 Space를 만들 때 다음처럼 선택합니다.
- SDK:
Docker - Visibility: 원하는 공개 범위 선택
- Hardware: 처음에는
CPU Basic권장
2. Connect this folder to the Space repo
현재 폴더에서 아래 명령을 실행합니다.
git init
git branch -M main
git add .
git commit -m "Initial commit for Hugging Face Space"
git remote add origin https://huggingface.co/spaces/<YOUR_USERNAME>/<YOUR_SPACE_NAME>
git push -u origin main<YOUR_USERNAME> 과 <YOUR_SPACE_NAME> 은 실제 Hugging Face 계정과 Space 이름으로 바꿔야 합니다.
3. Check build logs
푸시 후 Hugging Face Space의 Build logs 와 Container logs 를 확인합니다.
정상 동작 조건:
- 컨테이너가
7860포트에서 실행될 것 - FastAPI가
/api/*경로를 처리할 것 - Next 정적 빌드 결과가
out/폴더에 생성될 것
Environment Variables
현재 기준으로 이 앱 실행에 필수 환경변수는 없습니다.
추후 환경변수나 API 키가 생기면 Hugging Face Space의 아래 위치에서 관리하면 됩니다.
Settings > VariablesSettings > Secrets
민감한 값은 코드에 직접 넣지 말고 Secrets 에 저장하는 것을 권장합니다.
Project Notes
- Hugging Face Docker Space는
README.md상단 YAML의sdk: docker설정을 사용합니다. - 외부에 노출되는 포트는
app_port: 7860이어야 하며, 컨테이너 내부 서버 포트와 일치해야 합니다. - Docker Space 환경에서는 컨테이너가
user id 1000기준으로 동작하므로 현재 Dockerfile처럼 non-root user 구성이 권장됩니다.
Troubleshooting
- 화면이 안 뜨면:
npm run build결과로out/폴더가 생성됐는지 확인 - API 호출이 실패하면:
core.api:app이 정상 실행되는지 확인 - 빌드 실패 시: Hugging Face의
Build logs에서 누락 패키지나 권한 오류 확인 - 인증 오류 시: Hugging Face Access Token으로 Git 인증 확인
