Starchik1 commited on
Commit
aeba97e
·
verified ·
1 Parent(s): 6082390

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +27 -9
Dockerfile CHANGED
@@ -1,16 +1,34 @@
1
- # Read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
- # you will also find guides on how best to write your Dockerfile
3
 
4
- FROM python:3.9
 
 
 
5
 
6
- RUN useradd -m -u 1000 user
 
 
 
 
7
  USER user
8
- ENV PATH="/home/user/.local/bin:$PATH"
9
 
10
  WORKDIR /app
11
 
12
- COPY --chown=user ./requirements.txt requirements.txt
13
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
- COPY --chown=user . /app
16
- CMD ["gunicorn", "-b", "0.0.0.0:7860", "main:app"]
 
1
+ # Используем официальный образ Python с Alpine для минимального размера
2
+ FROM python:3.11-slim-bookworm
3
 
4
+ # Создаем непривилегированного пользователя
5
+ RUN adduser --disabled-password --gecos "" --uid 1000 user
6
+ USER user
7
+ ENV PATH="/home/user/.local/bin:${PATH}"
8
 
9
+ # Устанавливаем системные зависимости для компиляции
10
+ USER root
11
+ RUN apt-get update && apt-get install -y --no-install-recommends \
12
+ build-essential \
13
+ && rm -rf /var/lib/apt/lists/*
14
  USER user
 
15
 
16
  WORKDIR /app
17
 
18
+ # Копируем зависимости отдельно для кэширования
19
+ COPY --chown=user requirements.txt .
20
+ COPY --chown=user gunicorn_config.py .
21
+
22
+ # Устанавливаем зависимости
23
+ RUN pip install --no-cache-dir --upgrade pip && \
24
+ pip install --no-cache-dir -r requirements.txt
25
+
26
+ # Копируем исходный код
27
+ COPY --chown=user . .
28
+
29
+ # Настройки для Hugging Face Spaces
30
+ ENV PORT=7860
31
+ EXPOSE ${PORT}
32
 
33
+ # Запуск с конфигурацией для больших файлов
34
+ CMD ["gunicorn", "-c", "gunicorn_config.py", "server:app"]