Spaces:
Paused
Paused
# Используем официальный Ollama образ как базовый | |
FROM ollama/ollama:latest | |
# Устанавливаем необходимые системные зависимости | |
RUN apt-get update && apt-get install -y \ | |
curl \ | |
python3.9 \ | |
python3-pip \ | |
bash \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Создаём не-root пользователя для повышения безопасности | |
RUN useradd -m -u 1000 user | |
# Переключаемся на созданного пользователя | |
USER user | |
# Устанавливаем переменные окружения | |
ENV HOME=/home/user \ | |
PATH=/home/user/.local/bin:$PATH \ | |
OLLAMA_HOST=0.0.0.0 | |
# Устанавливаем рабочую директорию | |
WORKDIR $HOME/app | |
# Копируем файлы приложения в контейнер с правильными правами | |
COPY --chown=user:user . /home/user/app/ | |
# Устанавливаем Python зависимости | |
RUN pip3 install --upgrade pip | |
RUN pip3 install -r requirements.txt | |
# Запускаем Ollama сервер в фоновом режиме, загружаем модель и останавливаем сервер | |
RUN bash -c "ollama serve & sleep 10 && ollama pull llama3.1 && pkill ollama" | |
# Экспонируем необходимые порты | |
EXPOSE 11434 7860 | |
# Переопределяем ENTRYPOINT на /bin/bash | |
ENTRYPOINT ["/bin/bash"] | |
# Запускаем Ollama сервер и ваше приложение | |
CMD ["-c", "ollama serve & python3 app.py"] | |