Uniaff commited on
Commit
934e16d
1 Parent(s): 32f75c1

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -6
Dockerfile CHANGED
@@ -3,27 +3,38 @@ FROM ollama/ollama:latest
3
 
4
  # Устанавливаем необходимые системные зависимости
5
  RUN apt-get update && apt-get install -y \
 
6
  python3.9 \
7
  python3-pip \
8
- curl \
9
  bash \
10
  && rm -rf /var/lib/apt/lists/*
11
 
 
 
 
 
 
 
 
 
 
 
 
12
  # Устанавливаем рабочую директорию
13
- WORKDIR /app
14
 
15
  # Копируем файлы приложения в контейнер
16
- COPY . /app
17
 
18
  # Устанавливаем Python зависимости
19
  RUN pip3 install --upgrade pip
20
  RUN pip3 install -r requirements.txt
21
 
22
- # Загружаем модель Ollama
23
- RUN ollama pull llama3.1
24
 
25
  # Экспонируем необходимые порты
26
- EXPOSE 7860 11434
27
 
28
  # Запускаем Ollama сервер и ваше приложение
29
  CMD ["bash", "-c", "ollama serve & python3 app.py"]
 
3
 
4
  # Устанавливаем необходимые системные зависимости
5
  RUN apt-get update && apt-get install -y \
6
+ curl \
7
  python3.9 \
8
  python3-pip \
 
9
  bash \
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
+ # Создаём не-root пользователя для безопасности
13
+ RUN useradd -m -u 1000 user
14
+
15
+ # Переключаемся на созданного пользователя
16
+ USER user
17
+
18
+ # Устанавливаем переменные окружения
19
+ ENV HOME=/home/user \
20
+ PATH=/home/user/.local/bin:$PATH \
21
+ OLLAMA_HOST=0.0.0.0
22
+
23
  # Устанавливаем рабочую директорию
24
+ WORKDIR $HOME/app
25
 
26
  # Копируем файлы приложения в контейнер
27
+ COPY --chown=user:user . /home/user/app/
28
 
29
  # Устанавливаем Python зависимости
30
  RUN pip3 install --upgrade pip
31
  RUN pip3 install -r requirements.txt
32
 
33
+ # Запускаем сервер Ollama в фоновом режиме, загружаем модель и останавливаем сервер
34
+ RUN bash -c "ollama serve & sleep 10 && ollama pull llama3.1 && pkill ollama"
35
 
36
  # Экспонируем необходимые порты
37
+ EXPOSE 11434 7860
38
 
39
  # Запускаем Ollama сервер и ваше приложение
40
  CMD ["bash", "-c", "ollama serve & python3 app.py"]