FakeAD-Detector / Dockerfile
sungho7373's picture
Upload folder using huggingface_hub
27badb4 verified
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"]