transcription/Dockerfile

44 lines
1.3 KiB
Docker
Raw Normal View History

# 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 передаётся через build args)
ARG HF_TOKEN
ENV HF_TOKEN=$HF_TOKEN
RUN if [ -n "$HF_TOKEN" ]; then \
echo "[Build] Загрузка моделей с HF_TOKEN..."; \
python scripts/download_models.py; \
else \
echo "[Build] HF_TOKEN не передан — модели загрузятся при первом запуске"; \
fi
# Создаём директории для данных
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"]