diff --git a/Dockerfile b/Dockerfile index c9da877..51cfbf1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,8 +19,15 @@ RUN pip install --no-cache-dir -r requirements.txt # Копируем код проекта COPY . . -# Предзагрузка моделей (без HF_TOKEN диаризация пропускается) -RUN python scripts/download_models.py || echo "Модели будут загружены при первом запуске" +# Предзагрузка моделей (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 diff --git a/README.md b/README.md index 2d5f44e..6c58071 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,58 @@ output: paragraph_pause_sec: 2.0 ``` +## 🐳 Docker + +Проект полностью контейнеризирован — все модели ИИ внутри образа. + +### Быстрый старт + +```bash +# Установите токен +export HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxx + +# Сборка и запуск (модели загрузятся в образ) +docker compose up --build -d + +# Готово! Откройте http://localhost:8000 +``` + +### Переменные окружения + +| Переменная | Обязательная | Описание | +|------------|-------------|----------| +| `HF_TOKEN` | **Да** | HuggingFace токен для диаризации. Передаётся и при сборке, и при запуске. | + +### Команды + +```bash +# Сборка с токеном (модели внутри образа) +export HF_TOKEN=your_token +docker compose up --build -d + +# Только запуск (если образ уже собран) +docker compose up -d + +# Просмотр логов +docker compose logs -f + +# Остановка +docker compose down + +# Полная очистка (удалит данные!) +docker compose down -v +``` + +### Volumes + +| Volume | Описание | +|--------|----------| +| `uploads` | Загруженные файлы | +| `processed` | Результаты транскрибации | +| `tmp` | Временные файлы | + +Данные сохраняются между перезапусками контейнера. + ## 🌐 Веб-интерфейс Проект включает веб-сервис с минималистичным фронтендом для удобной работы через браузер. diff --git a/docker-compose.yml b/docker-compose.yml index 7413d22..cd4d75f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,10 @@ version: "3.8" services: transcription: - build: . + build: + context: . + args: + HF_TOKEN: ${HF_TOKEN} container_name: transcription_service ports: - "8000:8000"