Garush65 commited on
Commit
7af1506
·
verified ·
1 Parent(s): 07408ec

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +16 -20
Dockerfile CHANGED
@@ -1,37 +1,33 @@
1
  FROM python:3.10-slim
2
 
3
- # Устанавливаем базовые утилиты (нужны для скачивания)
4
- RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
 
 
 
 
 
5
 
6
  WORKDIR /app
7
 
8
- # Обновляем установщик
9
  RUN pip install --upgrade pip
10
 
11
- # !!! ГЛАВНЫЙ ФИНТ !!!
12
- # Мы ставим библиотеку из специального хранилища уже готовых файлов (Wheels)
13
- # Это спасет тебя от зависания.
14
- RUN pip install llama-cpp-python \
 
15
  --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
16
 
17
- # Копируем список остальных библиотек
18
  COPY requirements.txt .
 
 
 
19
 
20
- # Убираем llama-cpp-python из списка, потому что мы её УЖЕ поставили строчкой выше
21
- # (иначе он опять начнет её собирать)
22
- RUN grep -v "llama-cpp-python" requirements.txt > requirements_clean.txt
23
-
24
- # Устанавливаем всё остальное (FastAPI и т.д.)
25
- RUN pip install --no-cache-dir -r requirements_clean.txt
26
-
27
- # Копируем твои файлы (app.py)
28
  COPY . .
29
 
30
- # Даем права доступа (на всякий случай)
31
  RUN chmod -R 777 /app
32
-
33
- # Порт
34
  EXPOSE 7860
35
 
36
- # Запуск
37
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  FROM python:3.10-slim
2
 
3
+ # 1. ОБЯЗАТЕЛЬНО возвращаем компиляторы (gcc, g++, cmake).
4
+ # Без них сборка падает мгновенно, если не найдет готовый wheel.
5
+ RUN apt-get update && apt-get install -y \
6
+ build-essential \
7
+ cmake \
8
+ git \
9
+ && rm -rf /var/lib/apt/lists/*
10
 
11
  WORKDIR /app
12
 
 
13
  RUN pip install --upgrade pip
14
 
15
+ # 2. Магическая команда.
16
+ # Мы даем ему ссылку на готовые колеса (whl).
17
+ # Но если он их не найдет — у него теперь есть GCC, чтобы собрать самому!
18
+ # Флаг -DLLAMA_NATIVE=OFF помогает избежать ошибок старых процессоров на серверах.
19
+ RUN CMAKE_ARGS="-DLLAMA_NATIVE=OFF" pip install llama-cpp-python \
20
  --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
21
 
22
+ # 3. Ставим всё остальное
23
  COPY requirements.txt .
24
+ # Убираем llama из requirements, чтобы не ставить дважды
25
+ RUN grep -v "llama-cpp-python" requirements.txt > req_no_llama.txt
26
+ RUN pip install --no-cache-dir -r req_no_llama.txt
27
 
 
 
 
 
 
 
 
 
28
  COPY . .
29
 
 
30
  RUN chmod -R 777 /app
 
 
31
  EXPOSE 7860
32
 
 
33
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]