File size: 1,124 Bytes
bffc58d
aa0a3ba
 
bffc58d
aa0a3ba
 
 
 
bcfb168
 
 
aa0a3ba
 
bffc58d
aa0a3ba
 
 
bffc58d
6d40f77
 
 
 
aa0a3ba
 
 
bffc58d
aa0a3ba
 
 
 
bffc58d
aa0a3ba
 
61525d4
 
 
 
bffc58d
aa0a3ba
 
bffc58d
aa0a3ba
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
# 1. ๊ณ ์„ฑ๋Šฅ ์ธ์Šคํ„ด์Šค ๋Œ€์‘์„ ์œ„ํ•œ ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€
FROM python:3.10-slim

# 2. ํ•„์ˆ˜ ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€ ์„ค์น˜
RUN apt-get update && apt-get install -y \
    git \
    git-lfs \
    libgomp1 \
    gcc \
    python3-dev \
    libgcc-s1 \
    && rm -rf /var/lib/apt/lists/*

# 3. ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ์„ค์ •
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH \
    PYTHONUNBUFFERED=1 \
    GRADIO_SERVER_NAME="0.0.0.0" \
    GRADIO_SERVER_PORT=7860 \
    GRADIO_ALLOW_FLAGGING="never"

WORKDIR $HOME/app

# 4. ์˜์กด์„ฑ ์„ค์น˜ (์บ์‹œ ํ™œ์šฉ์„ ์œ„ํ•ด ๋จผ์ € ๋ณต์‚ฌ)
COPY --chown=user requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir -r requirements.txt

# 5. ์†Œ์Šค ์ฝ”๋“œ ๋ณต์‚ฌ
COPY --chown=user . .

# 6. LFS ํŒŒ์ผ์ด ํฌ์ธํ„ฐ๋กœ๋งŒ ๋ณต์‚ฌ๋˜์—ˆ์„ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด ์‹ค์ œ ํŒŒ์ผ ์ฒดํฌ์•„์›ƒ
# (git lfs pull์€ .git ํด๋”๊ฐ€ ์—†์œผ๋ฉด ๋ฌด์‹œ๋จ - ์•ˆ์ „)
RUN git lfs install --skip-repo 2>/dev/null || true

# 6. ํฌํŠธ ๊ฐœ๋ฐฉ (Hugging Face ๊ณ ์ • ํฌํŠธ)
EXPOSE 7860

# 7. ์‹คํ–‰
CMD ["python", "app.py"]