File size: 1,133 Bytes
484ec23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# SalGram — Docker-образ для Hugging Face Spaces (sdk: docker).
FROM python:3.13-slim

# Пользователь с uid 1000 — так требует Hugging Face Spaces; /data — точка
# монтирования постоянного хранилища (если оно подключено в настройках Space).
RUN useradd -m -u 1000 user && mkdir -p /data && chown user /data

USER user
ENV PATH="/home/user/.local/bin:$PATH" \
    SALGRAM_DATA_DIR=/data \
    PYTHONUNBUFFERED=1 \
    PORT=7860

WORKDIR /home/user/app

# Сначала зависимости — кешируется отдельно от кода.
COPY --chown=user requirements-web.txt ./
RUN pip install --no-cache-dir -r requirements-web.txt

COPY --chown=user . .

EXPOSE 7860

# Один воркер обязателен: WebSocket-соединения хранятся в памяти процесса
# (см. run_production в app.py). Каждое WS-соединение занимает поток.
CMD ["gunicorn", "--workers", "1", "--threads", "100", "--timeout", "120", \
     "--bind", "0.0.0.0:7860", "app:app"]