File size: 1,153 Bytes
6273393
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Dockerfile

# Python slim ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ (์šฉ๋Ÿ‰ ์ ˆ๊ฐ)
FROM python:3.10-slim

# ํ•„์š”ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
ENV PYTHONUNBUFFERED 1
ENV APP_HOME /app
WORKDIR $APP_HOME

# ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€ ์„ค์น˜: OpenCV๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ํŒจํ‚ค์ง€
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    libgl1-mesa-glx \
    libsm6 \
    libxext6 \
    libxrender1 && \
    rm -rf /var/lib/apt/lists/*

# requirements.txt ๋ณต์‚ฌ ๋ฐ ์„ค์น˜
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt

# ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ ๋ณต์‚ฌ
COPY app.py .

# ์ธ๋ฑ์Šค ํŒŒ์ผ๋“ค์ด ์œ„์น˜ํ•  'data' ํด๋” ์ƒ์„ฑ ๋ฐ ํŒŒ์ผ ๋ณต์‚ฌ
# FAISS ์ธ๋ฑ์Šค ํŒŒ์ผ๊ณผ pickle ํŒŒ์ผ์€ ๋ฏธ๋ฆฌ ์ด ํด๋”์— ๋„ฃ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
RUN mkdir -p data
# COPY ./data/faiss_index_v2.index data/
# COPY ./data/faiss_labels_v2.pkl data/
# (์ฃผ: ์œ„์˜ ๋‘ ์ค„์€ ์‹ค์ œ๋กœ ์ธ๋ฑ์Šค ํŒŒ์ผ์„ repo์— ์ถ”๊ฐ€ํ•œ ํ›„ ์ฃผ์„์„ ํ•ด์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)

# FastAPI ์•ฑ ์‹คํ–‰ (Hugging Face Spaces ๊ธฐ๋ณธ ํฌํŠธ 7860 ์‚ฌ์šฉ)
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]