rafael1994s commited on
Commit
1c3ba9f
·
verified ·
1 Parent(s): 9b2ecd4

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +18 -17
Dockerfile CHANGED
@@ -1,32 +1,33 @@
1
- # Используем официальный образ Python
2
  FROM python:3.10-slim
3
 
4
- # Устанавливаем системные зависимости для Anki и работы с файлами
 
5
  RUN apt-get update && apt-get install -y \
 
6
  libsqlite3-dev \
7
- gcc \
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
- # Создаем пользователя для Hugging Face (UID 1000)
11
- RUN useradd -m -u 1000 user
12
- USER user
13
- ENV HOME=/home/user \
14
- PATH=/home/user/.local/bin:$PATH
15
 
16
- WORKDIR $HOME/app
 
17
 
18
- # Копируем зависимости
19
- COPY --chown=user requirements.txt .
20
  RUN pip install --no-cache-dir -r requirements.txt
21
 
22
- # Копируем код приложения
23
- COPY --chown=user . .
24
 
25
- # Создаем папку для медиафайлов и даем права
26
- RUN mkdir -p extracted_media && chmod 777 extracted_media
 
 
 
27
 
28
- # Открываем порт 7860 (стандарт для HF Spaces)
29
  EXPOSE 7860
30
 
31
- # Запускаем через uvicorn на порту 7860
32
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
+ # Используем легкий и актуальный образ Python
2
  FROM python:3.10-slim
3
 
4
+ # Устанавливаем системные зависимости
5
+ # sqlite3 обязателен для работы базы данных Anki (.anki2)
6
  RUN apt-get update && apt-get install -y \
7
+ sqlite3 \
8
  libsqlite3-dev \
 
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
+ # Создаем рабочую директорию
12
+ WORKDIR /app
 
 
 
13
 
14
+ # Сначала копируем только requirements.txt для кэширования слоев
15
+ COPY requirements.txt .
16
 
17
+ # Устанавливаем зависимости Python
 
18
  RUN pip install --no-cache-dir -r requirements.txt
19
 
20
+ # Копируем остальной код приложения
21
+ COPY . .
22
 
23
+ # Создаем пользователя с ограниченными правами (требование безопасности HF)
24
+ RUN useradd -m -u 1000 user
25
+ USER user
26
+ ENV HOME=/home/user \
27
+ PATH=/home/user/.local/bin:$PATH
28
 
29
+ # Выставляем порт, который ожидает Hugging Face (по умолчанию 7860)
30
  EXPOSE 7860
31
 
32
+ # Запускаем приложение через uvicorn
33
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]