File size: 1,625 Bytes
e3f4f7d
7b0a7b6
 
 
 
 
 
 
 
 
 
 
e3f4f7d
5edadcf
f1cf39f
 
 
 
 
7b0a7b6
 
 
f1cf39f
 
 
 
7b0a7b6
 
 
 
f1cf39f
7b0a7b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f1cf39f
 
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
# 1. ํŒŒ์ด์ฌ ๋ฒ„์ „์„ 3.11์œผ๋กœ ์„ค์ •
FROM python:3.11-slim

# 2. ํ•„์š”ํ•œ ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€ ๋ฐ git-lfs ์„ค์น˜
RUN pip install --no-cache-dir hf_transfer>=0.1.6
RUN apt-get update && apt-get install -y \
    build-essential \
    curl \
    git \
    git-lfs \
    && rm -rf /var/lib/apt/lists/*

# Ollama ์„ค์น˜
RUN curl -L --fail https://ollama.com/download/ollama-linux-amd64 -o /usr/local/bin/ollama \
    && chmod +x /usr/local/bin/ollama

# Ollama ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ (gemma2:9b ๋ชจ๋ธ ์‚ฌ์šฉ)
RUN /usr/local/bin/ollama pull gemma2:9b

# 3. ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ์„ค์ •
WORKDIR /app

# 6. ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 4. ์†Œ์Šค ์ฝ”๋“œ ๋ณต์‚ฌ
COPY . /app

# 5. Git LFS ์„ค์ • ๋ฐ ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ
RUN git lfs install && git lfs pull

# 7. ์ŠคํŠธ๋ฆผ๋ฆฟ์ด ์‚ฌ์šฉํ•  ์„ค์ • ํด๋”๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค๊ณ  ๊ถŒํ•œ ๋ถ€์—ฌ (PermissionError ํ•ด๊ฒฐ)
# ๊ถŒํ•œ/๊ฒฝ๋กœ ๊ณ ์ •
ENV HOME=/app
ENV STREAMLIT_HOME=/app/.streamlit
RUN mkdir -p /app/.streamlit && chmod -R 777 /app/.streamlit

# ๊ถŒ์žฅ: ์บ์‹œ ๊ฒฝ๋กœ๋ฅผ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ๊ณ ์ •
ENV HF_HOME=/tmp/hf-home \
    TRANSFORMERS_CACHE=/tmp/hf-cache \
    HUGGINGFACE_HUB_CACHE=/tmp/hf-cache \
    TORCH_HOME=/tmp/torch-cache \
    XDG_CACHE_HOME=/tmp/xdg-cache

RUN mkdir -p /tmp/hf-home /tmp/hf-cache /tmp/torch-cache /tmp/xdg-cache

# 8. ํฌํŠธ ๊ฐœ๋ฐฉ
EXPOSE 8501

# 9. ์•ฑ ์‹คํ–‰ (PermissionError ์ถ”๊ฐ€ ๋ฐฉ์ง€)
#CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.fileWatcherType=none"]
CMD ["/bin/sh", "-c", "/usr/local/bin/ollama serve & streamlit run app.py"]