File size: 983 Bytes
3a338e5 a4126ee 3a338e5 a4126ee 3a338e5 a4126ee |
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 37 38 39 40 |
# Python 3.12 ๊ธฐ๋ฐ ์ด๋ฏธ์ง
FROM python:3.12-slim
# ์์
๋๋ ํ ๋ฆฌ ์ค์
WORKDIR /app
# ์์คํ
์์กด์ฑ ์ค์น
RUN apt-get update && apt-get install -y \
gcc \
postgresql-client \
curl \
&& rm -rf /var/lib/apt/lists/*
# ํ๊ฒฝ ๋ณ์ ์ค์
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1
# uv ์ค์น (๋น ๋ฅธ Python ํจํค์ง ๊ด๋ฆฌ์)
RUN pip install --no-cache-dir uv
# requirements.txt ๋ณต์ฌ ๋ฐ ์ค์น
COPY requirements.txt ./
RUN uv pip install --system -r requirements.txt
# ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋ ๋ณต์ฌ
COPY config/ ./config/
COPY services/ ./services/
COPY data/ ./data/
COPY app.py init_db.py ./
# ํฌํธ ๋
ธ์ถ (Hugging Face Space๋ 7860 ํฌํธ ์ฌ์ฉ)
EXPOSE 7860
# ํฌ์ค์ฒดํฌ ์ถ๊ฐ
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
CMD curl -f http://localhost:7860/ || exit 1
# ์์ ์คํฌ๋ฆฝํธ (Hugging Face Space๋ ์๋์ผ๋ก ํ๊ฒฝ ๋ณ์๋ฅผ ์ฃผ์
ํจ)
CMD ["python", "app.py"]
|