Spaces:
Sleeping
Sleeping
File size: 2,014 Bytes
2723800 60feb93 7c838ba 60feb93 e49e567 c319101 60feb93 e070e7d e49e567 60feb93 7c838ba e49e567 941e888 7c838ba e49e567 e070e7d e49e567 1c5367e 7c838ba 1c5367e 7c838ba 60feb93 27badb4 1c5367e 27badb4 | 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 41 42 43 44 45 46 47 48 49 50 51 52 53 | FROM python:3.10
# ํจํค์ง ์ค์น๋ root ๊ถํ์ผ๋ก ์งํํ๊ธฐ ์ํด ์์
๋๋ ํ ๋ฆฌ ์ค์
WORKDIR /code
# [๋จ๊ณ 1] ์์คํ
ํจํค์ง ์ค์น
COPY packages.txt .
RUN apt-get update && apt-get install -y --no-install-recommends \
$(cat packages.txt) \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# [๋จ๊ณ 2] ๊ธฐ๋ณธ ๋๊ตฌ ์
๋ฐ์ดํธ
RUN pip install --no-cache-dir --upgrade pip setuptools wheel
# [๋จ๊ณ 3] AI ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๊ด๋ จ ๋ฌด๊ฑฐ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋จผ์ ์ค์น (OCR ์ฉ๋)
RUN pip install --no-cache-dir opencv-python-headless
RUN pip install --no-cache-dir paddlepaddle==3.0.0
RUN pip install --no-cache-dir "paddleocr>=2.7.0"
# [๋จ๊ณ 4] ๋๋จธ์ง ์ผ๋ฐ ํจํค์ง ์ค์น
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# ๐จ [์์ ํฌ์ธํธ 1] ๋ฃจํธ(root) ๊ถํ์ผ ๋ OS ์์คํ
์์กด์ฑ๋ง ์ค์น
RUN playwright install-deps chromium
# ==========================================
# ๐ [ํต์ฌ ์์ ] Hugging Face Spaces ์ ์ ๊ถํ ์ค์
# ==========================================
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# ๐จ [์์ ํฌ์ธํธ 2] ์ ์ (user)๋ก ๊ถํ์ด ๋ฐ๋ ์งํ์ ๋ธ๋ผ์ฐ์ ์ค์ ํ์ผ ๋ค์ด๋ก๋!
# ์ด๋ ๊ฒ ํด์ผ /home/user/.cache/ms-playwright/ ์์น์ ์ ํํ ์ค์น๋ฉ๋๋ค.
RUN playwright install chromium
# ์์
๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ ์ผ๋ฐ ์ ์ ์ ํด๋๋ก ๋ณ๊ฒฝ
WORKDIR $HOME/app
# [๋จ๊ณ 5] ๋ด ์ฝ๋ ๋ณต์ฌ (์์ ๊ถ์ ๋ฐฉ๊ธ ๋ง๋ user๋ก ์ง์ )
COPY --chown=user:user . $HOME/app
# ==========================================
# ๐จ [๊ฒฝ๋ก ๋ณต๊ตฌ] myapp ํด๋ ์์ ํ์ผ๋ค์ ์ธ์ํ ์ ์๋๋ก PYTHONPATH ์ถ๊ฐ
# ==========================================
ENV PYTHONPATH="${PYTHONPATH}:$HOME/app/myapp"
EXPOSE 7860
# ๐จ [๊ฒฝ๋ก ๋ณต๊ตฌ] myapp ํด๋ ์์ app.py๋ฅผ ์คํํ๋๋ก ์์๋ณต๊ตฌ
CMD ["uvicorn", "myapp.app:app", "--host", "0.0.0.0", "--port", "7860"] |