성현 김 commited on
Commit
7c7ce47
·
1 Parent(s): f88cd57

Rename entry point to app.py and update Dockerfile CMD

Browse files
Files changed (2) hide show
  1. Dockerfile +50 -0
  2. app/{main.py → app.py} +0 -0
Dockerfile CHANGED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 1. 기본 이미지 설정 (Python 버전 명시)
2
+ FROM python:3.10-slim
3
+
4
+ # 2. 작업 디렉토리 설정
5
+ WORKDIR /app
6
+
7
+ # 3. 시스템 의존성 설치
8
+ # Konlpy (Okt) 사용을 위해 OpenJDK 설치
9
+ RUN apt-get update && apt-get install -y --no-install-recommends \
10
+ openjdk-11-jre-headless \
11
+ && apt-get clean \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ # Mecab 설치 예시 (현재 스크립트에서는 Okt를 사용하므로 주석 처리 유지 또는 삭제 가능)
15
+ # RUN apt-get update && apt-get install -y --no-install-recommends \
16
+ # curl \
17
+ # git \
18
+ # build-essential \
19
+ # mecab \
20
+ # mecab-ipadic-utf8 \
21
+ # libmecab-dev \
22
+ # && rm -rf /var/lib/apt/lists/*
23
+ # RUN bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)
24
+
25
+
26
+ # 4. Python 의존성 설치
27
+ # requirements.txt 파일을 먼저 복사하여 Docker 레이어 캐싱 활용
28
+ COPY requirements.txt .
29
+ RUN pip install --no-cache-dir --upgrade pip && \
30
+ pip install --no-cache-dir -r requirements.txt
31
+
32
+ # 5. 애플리케이션 코드 및 데이터 복사
33
+ # app 폴더 전체를 /app/app 으로 복사 (WORKDIR이 /app이므로 app/으로 복사됨)
34
+ COPY ./app /app/app
35
+ # Chroma DB 데이터를 /app/chroma_db_data 로 복사
36
+ COPY ./chroma_db_data /app/chroma_db_data
37
+ # 만약 fine_tuned_model 폴더를 사용한다면 다음 줄의 주석 해제
38
+ # COPY ./fine_tuned_model /app/fine_tuned_model
39
+
40
+ # 6. 환경 변수 설정 (필요한 경우)
41
+ ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
42
+ # 예: ENV PYTHONUNBUFFERED=1
43
+ # 예: ENV PROJECT_ROOT=/app (main.py에서 기본값으로 /app 사용 중)
44
+
45
+ # 7. 실행할 포트 설정 (Hugging Face Spaces 기본값 중 하나인 7860 권장)
46
+ EXPOSE 7860
47
+
48
+ # 8. 애플리케이션 실행 명령어
49
+ # Uvicorn이 /app/app/main.py 파일의 app 객체를 실행하도록 함
50
+ CMD ["uvicorn", "app.app:app", "--host", "0.0.0.0", "--port", "7860"]
app/{main.py → app.py} RENAMED
File without changes