Spaces:
Sleeping
Sleeping
| # 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"] |