37 lines
1.1 KiB
Docker
37 lines
1.1 KiB
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM python:3.11-slim-bookworm
|
|
|
|
# Установка системных зависимостей
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ffmpeg \
|
|
build-essential \
|
|
libsndfile1 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Рабочая директория
|
|
WORKDIR /app
|
|
|
|
# Копируем зависимости
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Копируем код проекта
|
|
COPY . .
|
|
|
|
# Предзагрузка моделей (без HF_TOKEN диаризация пропускается)
|
|
RUN python scripts/download_models.py || echo "Модели будут загружены при первом запуске"
|
|
|
|
# Создаём директории для данных
|
|
RUN mkdir -p uploads processed tmp
|
|
|
|
# Открываем порт
|
|
EXPOSE 8000
|
|
|
|
# Entrypoint скрипт
|
|
COPY scripts/docker-entrypoint.sh /docker-entrypoint.sh
|
|
RUN chmod +x /docker-entrypoint.sh
|
|
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8000"]
|