AnatoliiG commited on
Commit
1937133
·
1 Parent(s): 6087fee

fix dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -12
Dockerfile CHANGED
@@ -1,39 +1,38 @@
1
- # 1. Используем Python 3.10 (под него точно есть готовые колеса/wheels)
2
  FROM python:3.10-slim
3
 
4
- # 2. Настраиваем окружение, чтобы логи выводились сразу
5
  ENV PYTHONUNBUFFERED=1 \
6
- PYTHONDONTWRITEBYTECODE=1 \
7
- # Настраиваем кеш HF в доступную для записи папку
8
  HF_HOME=/home/user/cache \
9
  HOME=/home/user \
10
  PATH=/home/user/.local/bin:$PATH
11
 
12
  WORKDIR /app
13
 
14
- # 3. Устанавливаем минимальные системные утилиты (на всякий случай, быстро)
15
  RUN apt-get update && apt-get install -y --no-install-recommends \
 
 
16
  curl \
17
  && rm -rf /var/lib/apt/lists/*
18
 
19
- # 4. Создаем пользователя (требование HF)
20
  RUN useradd -m -u 1000 user
21
  USER user
22
  RUN mkdir -p $HF_HOME
23
 
24
- # 5. Сначала копируем и ставим легкие зависимости (кешируется)
25
  COPY --chown=user requirements.txt requirements.txt
26
  RUN pip install --no-cache-dir --upgrade pip && \
27
  pip install --no-cache-dir -r requirements.txt
28
 
29
- # 6. КЛЮЧЕВОЙ МОМЕНТ: Ставим llama-cpp-python из готового колеса
30
- # Мы явно указываем индекс для CPU. Это занимает секунды вместо минут.
31
- RUN pip install --no-cache-dir llama-cpp-python \
 
32
  --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
33
 
34
- # 7. Копируем код приложения (в последнюю очередь, чтобы правки кода не триггерили переустановку либ)
35
  COPY --chown=user app.py app.py
36
 
37
- # 8. Запускаем
38
  EXPOSE 7860
39
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
+ # Используем Python 3.10
2
  FROM python:3.10-slim
3
 
4
+ # Настройки окружения
5
  ENV PYTHONUNBUFFERED=1 \
 
 
6
  HF_HOME=/home/user/cache \
7
  HOME=/home/user \
8
  PATH=/home/user/.local/bin:$PATH
9
 
10
  WORKDIR /app
11
 
12
+ # 1. Возвращаем системные утилиты (build-essential и cmake)
13
  RUN apt-get update && apt-get install -y --no-install-recommends \
14
+ build-essential \
15
+ cmake \
16
  curl \
17
  && rm -rf /var/lib/apt/lists/*
18
 
19
+ # Создаем пользователя
20
  RUN useradd -m -u 1000 user
21
  USER user
22
  RUN mkdir -p $HF_HOME
23
 
24
+ # Устанавливаем легкие зависимости
25
  COPY --chown=user requirements.txt requirements.txt
26
  RUN pip install --no-cache-dir --upgrade pip && \
27
  pip install --no-cache-dir -r requirements.txt
28
 
29
+ # 2. Устанавливаем llama-cpp-python
30
+ RUN pip install --no-cache-dir \
31
+ "llama-cpp-python==0.3.15" \
32
+ --prefer-binary \
33
  --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
34
 
 
35
  COPY --chown=user app.py app.py
36
 
 
37
  EXPOSE 7860
38
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]