Spaces:
Sleeping
Sleeping
File size: 1,770 Bytes
0920784 185fa5b 0920784 185fa5b 0920784 185fa5b 0920784 fc1a2fa 0920784 6cbb5c6 0920784 b9ab970 f018bf3 6facfb7 8b098af 0920784 8b098af 0920784 8b098af 0920784 51cb93f 0920784 8b098af 34f160a b9ab970 51cb93f b9ab970 0d7bbb7 34f160a b9ab970 34f160a |
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 |
# 1. ์ฐ๋ถํฌ 24.04 ๊ธฐ๋ฐ ์ด๋ฏธ์ง ์ฌ์ฉ (GLIBC 2.39 ํฌํจ, Python 3.12 ๋ด์ฅ)
FROM ubuntu:24.04
# 2. ํ์ํ ๊ธฐ๋ณธ ํจํค์ง ์ค์น (๋น๋ ๋๊ตฌ, ๊ธฐํ ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ / ํ์ด์ฌ์ ์ด๋ฏธ ๋ด์ฅ๋จ)
RUN apt-get update && apt-get upgrade -y && \
apt-get install -y \
software-properties-common \
build-essential \
gcc g++ cmake \
python3-venv python3-dev python3-pip \
curl git
# 3. ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ pip, setuptools, wheel ์
๊ทธ๋ ์ด๋
RUN python3 -m venv /opt/venv && \
/opt/venv/bin/pip install --upgrade pip setuptools wheel
# 4. ํ๊ฒฝ ๋ณ์ ์ค์ (๊ฐ์ํ๊ฒฝ ํ์ฑํ)
ENV PATH="/opt/venv/bin:${PATH}"
ENV HF_HOME=/app/huggingface_cache
# 5. ์ปจํ
์ด๋ ๋ด๋ถ์ ์ฝ๋๋ฅผ ์ ์ฅํ ์์
ํด๋๋ฅผ ๋ง๋ฆ
WORKDIR /app
# 6. ๋ณด์์ ์ํด ๊ถํ์ด ์ ํ๋ ์๋ก์ด ์ฌ์ฉ์(user)๋ฅผ ์์ฑํ๊ณ ์์ ๊ถ์ ์ด์
RUN useradd -m -u 1010 user
# huggingface_cache๋ง ๊ถํ ์ค์ (user ์์ฑ ์ดํ ๋ฐ๋์ ์ํ)
RUN mkdir -p /app/huggingface_cache && chmod -R 777 /app/huggingface_cache
# 7. requirements.txt ํ์ผ๊ณผ wheel ํ์ผ์ ๋ณต์ฌ
COPY ./requirements.txt requirements.txt
COPY ./llama_cpp_python-0.3.11-cp312-cp312-linux_x86_64.whl .
# 8. llama-cpp-python์ wheel ํ์ผ๋ก ์ค์น ํ ๋๋จธ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น (๊ฐ์ํ๊ฒฝ ๋ด pip ์ฌ์ฉ)
USER root
RUN pip install --no-cache-dir ./llama_cpp_python-0.3.11-cp312-cp312-linux_x86_64.whl
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# 9. user๋ก ์ ํ (์ฑ ์คํ์ ๋ฐ๋์ user๋ก)
USER user
# 10. ๋๋จธ์ง ๋ชจ๋ ์์ค ์ฝ๋๋ฅผ ์์
ํด๋์ ๋ณต์ฌ
COPY . /app
# 11. ๋ชจ๋ ์ค๋น๊ฐ ๋๋๋ฉด, ์๋ฒ๋ฅผ ์คํ
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |