Spaces:
Sleeping
Sleeping
| 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"] |