Spaces:
Sleeping
Sleeping
File size: 3,982 Bytes
fe7c89a 0546432 fe7c89a 37c67c0 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 d322c27 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 fe7c89a 0546432 |
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# ============================================================================
# SmartEyeSsen Backend - Hugging Face Spaces Dockerfile
# ============================================================================
# Hugging Face Spaces ๋ฐฐํฌ ์ ์ฉ Dockerfile
# - 16GB RAM ํ์ฉ (DocLayout-YOLO + PyTorch)
# - ๋น-๋ฃจํธ ์ฌ์ฉ์ ์คํ (๋ณด์ ์๊ตฌ์ฌํญ)
# - ํฌํธ 7860 ํ์ (HF Spaces ํ์ค)
# ============================================================================
FROM python:3.10-slim
# ============================================================================
# 1. ์์คํ
ํจํค์ง ์ค์น (Root ๊ถํ ํ์)
# ============================================================================
USER root
RUN apt-get update && apt-get install -y --no-install-recommends \
# OCR ์์ง
tesseract-ocr \
tesseract-ocr-kor \
tesseract-ocr-eng \
# OpenCV ์์กด์ฑ
libgl1 \
libglib2.0-0 \
# ๋น๋ ๋๊ตฌ
gcc \
g++ \
# Git (DocLayout-YOLO ์ค์น์ฉ)
git \
# ๋ก์ผ์ผ ์ค์
locales \
&& rm -rf /var/lib/apt/lists/*
# UTF-8 ๋ก์ผ์ผ ์ค์ (ํ๊ธ ์ง์)
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
sed -i '/ko_KR.UTF-8/s/^# //g' /etc/locale.gen && \
locale-gen
# ============================================================================
# 2. ๋น-๋ฃจํธ ์ฌ์ฉ์ ์์ฑ (Hugging Face Spaces ๋ณด์ ์๊ตฌ์ฌํญ)
# ============================================================================
RUN useradd -m -u 1000 user
USER user
# ํ๊ฒฝ ๋ณ์ ์ค์
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
LANG=ko_KR.UTF-8 \
LANGUAGE=ko_KR:en \
LC_ALL=ko_KR.UTF-8 \
PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1
# ============================================================================
# 3. ์์
๋๋ ํ ๋ฆฌ ์ค์
# ============================================================================
WORKDIR $HOME/app
# ============================================================================
# 4. Python ์์กด์ฑ ์ค์น
# ============================================================================
# requirements.txt ๋จผ์ ๋ณต์ฌ (Docker ์บ์ ํ์ฉ)
COPY --chown=user requirements.txt .
# PyPI ํจํค์ง ์ค์น
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# DocLayout-YOLO ์ค์น (Git ์ง์ ์ค์น)
RUN pip install --no-cache-dir git+https://github.com/opendatalab/DocLayout-YOLO.git
# ============================================================================
# 5. ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋ ๋ณต์ฌ
# ============================================================================
COPY --chown=user . .
# ============================================================================
# 6. ์์ ์ ์ฅ์ ๋๋ ํ ๋ฆฌ ์์ฑ
# ============================================================================
# HF Spaces๋ /tmp ์ธ์๋ ์ฐ๊ธฐ ๊ถํ ์ ํ๋ ์ ์์
RUN mkdir -p /tmp/uploads && \
mkdir -p $HOME/app/uploads $HOME/app/static $HOME/app/test_pipeline_outputs && \
chmod -R 755 $HOME/app/uploads $HOME/app/static $HOME/app/test_pipeline_outputs
ENV TMPDIR=/tmp/uploads
# ============================================================================
# 7. Tesseract ์ค์น ํ์ธ
# ============================================================================
RUN tesseract --version && tesseract --list-langs
# ============================================================================
# 8. ํฌํธ ์ค์ (HF Spaces ํ์ ํฌํธ)
# ============================================================================
EXPOSE 7860
# ============================================================================
# 9. ์๋ฒ ์คํ
# ============================================================================
# Hugging Face Spaces๋ 7860 ํฌํธ ํ์
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860", "--timeout-keep-alive", "300"]
|