Руководство по установке
Пошаговое руководство по установке и настройке программного комплекса «Отаскрайб» в Docker
В этом руководстве описаны все шаги, необходимые для успешной установки, настройки и запуска программного комплекса «Отаскрайб» (Otascribe) в Docker.
Для запуска в формате Bare Metal свяжитесь с поддержкой: support@otascribe.ru.
Требуемые компетенции
Для установки программного комплекса «Отаскрайб» требуются специалисты со следующими компетенциями:
- Docker: владение Docker на базовом уровне, включая просмотр логов (
docker logs), запуск и остановка контейнеров (docker up/stop), очистка кеша (docker system prune -f), проверка статуса (docker ps), управление стеками (docker compose).- Понимание принципов работы с
docker-compose.ymlи умение запускать и проверять состояние многоконтейнерных приложений (docker compose up,docker compose ps,docker compose logs).
- Понимание принципов работы с
- Администрирование Linux: уверенная работа в командной строке, включая управление файлами и директориями (
mkdir,tar,rm,ls -a), загрузку файлов (wget) и управление правами (например, добавление пользователя в группуdocker). - Настройка GPU-окружения: опыт установки и проверки драйверов NVIDIA, CUDA Toolkit, cuDNN и NVIDIA Container Toolkit.
- Редактирование конфигураций: Умение работать с конфигурационными файлами в форматах
.envи.ymlдля настройки параметров сервисов.
Раздел 1. Системные требования
Перед началом установки убедитесь, что ваша система соответствует следующим требованиям.
1.1. Операционная система
Требуется операционная система на базе Linux.
Рекомендуемые дистрибутивы:
- Debian 10/11
- Ubuntu 22.04/24.04
- РЕД ОС 7.3
Возможен запуск на Windows при наличии WSL (Windows Subsystem for Linux).
1.2. Аппаратное обеспечение
| Компонент | Требование |
|---|---|
| GPU | NVIDIA с поддержкой CUDA 11+ |
| VRAM | Не менее 12 ГБ |
| Тензорные ядра | 320+ |
| RAM | От 16 ГБ |
| CPU | 6 ядер, не менее 2.4 ГГц |
| Дисковое пространство | 80 ГБ |
Рекомендуемые архитектуры: NVIDIA Turing, Ampere или новее (например, NVIDIA A100 или L40S).
На данный момент архитектура Blackwell 2.0 не поддерживается.
1.3. Программные зависимости
Для работы «Отаскрайб» необходимо установить и настроить следующие компоненты:
1. Драйверы NVIDIA и CUDA
- Драйверы NVIDIA для графического ускорителя (не ниже 5xx).
- CUDA Toolkit (версии 12.8 или 13, в зависимости от требований графического ускорителя).
- Библиотека cuDNN (версия должна быть совместима с установленной версией CUDA).
Полезные ссылки (NVIDIA):
2. Docker и NVIDIA Container Toolkit
- Docker
- Плагин Docker Compose (для управления многоконтейнерными приложениями)
- NVIDIA Container Toolkit, чтобы разрешить Docker-контейнерам использовать CUDA
3. Программные компоненты
- Docker-образ Postgres 16 c pgroonga.
- Docker-образ Redis 7.4.2.
При наличии выхода в Интернет образы будут загружены автоматически на Шаге 8.
1.4. Проверка готовности системы
Перед переходом к следующему шагу необходимо убедиться, что:
Драйверы NVIDIA и CUDA установлены корректно.
Выполните команду nvidia-smi. Должен появиться вывод, отображающий видеокарту, версию драйвера и версию CUDA.
nvidia-smi
- 1️⃣🟥 — версия драйвера графического ускорителя
- 2️⃣🟩 — версия CUDA
- 3️⃣🟦 — Наименование графического ускорителя
- 4️⃣🟨 — Потребление VRAM графического ускорителя
Библиотека cuDNN работает.
Следуйте официальной документации NVIDIA для тестирования установки cuDNN.
Docker и NVIDIA Container Toolkit настроены.
Убедитесь, что у вашего пользователя есть права для работы с Docker (обычно это достигается добавлением пользователя в группу docker).
Раздел 2. Установка дистрибутива
После подготовки сервера можно приступать к загрузке и развертыванию файлов «Отаскрайб».
Шаг 1. Подготовка рабочей директории
Создайте рабочую директорию для хранения файлов конфигурации и архивов Docker-образов и перейдите в неё:
mkdir -p /path/to/otascribe
cd /path/to/otascribemd C:\otascribe
cd C:\otascribeРекомендуем размещать дистрибутив в директории /srv в поддиректории /srv/otascribe.
Шаг 2. Загрузка файлов
В приведенных ниже командах используются плейсхолдеры {CUSTOMER_SLUG} и {DATE}.
Актуальную ссылку и имя файла лицензии вам предоставит менеджер.
Загрузите необходимые файлы в созданную рабочую директорию. Используйте соответствующую команду для вашей ОС:
wget https://vfrc.rtatex.ru/{CUSTOMER_SLUG}/{.env,backend.tar.gz,config.yml,docker-compose.yml,frontend.tar.gz,otawhisp-worker.tar.gz,summarization-service.tar.gz,license-service.tar.gz,LICENSE_CUSTOMER_SLUG_DATE.lic}$baseUrl = "https://vfrc.rtatex.ru/{CUSTOMER_SLUG}/"
$files = @(
".env",
"backend.tar.gz",
"config.yml",
"docker-compose.yml",
"frontend.tar.gz",
"otawhisp-worker.tar.gz",
"summarization-service.tar.gz",
"license-service.tar.gz",
"LICENSE_CUSTOMER_SLUG_DATE.lic"
)
foreach ($file in $files) {
Invoke-WebRequest -Uri "$baseUrl$file" -OutFile $file
}В текущей директории должны появиться следующие файлы:
Шаг 3. Локальная загрузка Docker-образов
Далее необходимо загрузить образы, полученные на Шаге 2, в локальный реестр Docker.
docker load --input backend.tar.gz
docker load --input frontend.tar.gz
docker load --input otawhisp-worker.tar.gz
docker load --input summarization-service.tar.gz
docker load --input license-service.tar.gzПосле успешной загрузки (проверить можно командой docker images), образы *.tar.gz можно удалить для экономии места на диске:
Команда удалит все файлы с расширением tar.gz в текущей директории!
rm ./*.tar.gzRemove-Item *.tar.gzРаздел 3. Конфигурация
Перед запуском можно (опционально) настроить файлы конфигурации. Все файлы (.env, config.yml, docker-compose.yml) должны находиться в одной рабочей директории (/path/to/otascribe).
Лучше оставить значения по умолчанию, если они подходят для вашей среды.
Шаг 4. Настройка файла .env
В демонстрационных (trial) сборках файлы конфигурации сгенерированы и практически не требуют изменений.
Изменения могут потребоваться при нестандартных настройках сети (Шаг 6).
Файл .env содержит переменные окружения для базы данных, публичного адреса Backend-а, Redis и сервиса резюмирования.
Пример файла .env:
POSTGRES_DATABASE=db
POSTGRES_USER=user
POSTGRES_PASSWORD=1234
POSTGRES_ADMIN_EMAIL=admin@oscb.lan
POSTGRES_ADMIN_PASSWORD=5678
REDIS_PASSWORD=1234
REDIS_USER=admin
REDIS_USER_PASSWORD=1234
REDIS_CONNECTION_URL=redis://admin:1234@redis/0
OTASCRIBE_ENV_API_BASE_URL=http://localhost:7575
LLM_API_URL=COMPLETE_LLM_API_URL
LLM_API_KEY=COMPLETE_LLM_API_KEY
LLM_MODEL_NAME=rtex2510-4b-instruct
LLM_MAX_NEW_TOKENS=8192Рекомендации по настройке:
POSTGRES_PASSWORDдолжен совпадать со значениемpostgres_passwordвconfig.yml.REDIS_USER_PASSWORDиREDIS_CONNECTION_URLдолжны совпадать со значениями вconfig.yml.- LLM: Секция
LLM_настраивается, только если вы планируете использовать функцию резюмирования (см. Шаг 7). OTASCRIBE_ENV_API_BASE_URLнастраивается на серверах, где вместоlocalhostнеобходимо использовать публичный адрес сервера (внешний или внутренний).
Шаг 5. Настройка файла config.yml
Файл config.yml содержит основные параметры для работы сервисов «Отаскрайб».
Рекомендации по настройке:
- Database / Redis: Убедитесь, что пароли и URL-адреса подключения здесь (
config.yml) полностью совпадают с теми, что указаны в.env. - JWT: Для производственной среды сгенерируйте безопасный
jwt_secret_key(например, командойopenssl rand -hex 32). - Email: Если планируется отправка почты, раскомментируйте и настройте параметры вашего SMTP-сервера.
- OIDC: Раскомментируйте и настройте, если используете единую точку входа (SSO).
- App: Убедитесь, что
uploads_pathуказывает на корректный путь, куда будут загружаться файлы.
Шаг 6. Опциональная конфигурация сетевых настроек
Если дистрибутив устанавливается на сервер, или используется локальный DNS, или адрес бэкенда отличается от localhost.
Необходимо настроить .env следующим образом:
OTASCRIBE_ENV_API_BASE_URL=http://<public_ip>:<backend_port>По данному адресу клиентская часть (интерфейс frontend) будет обращаться к серверу приложения (backend). Если backend недоступен по адресу http://localhost:7575, необходимо задать в переменной окружения OTASCRIBE_ENV_API_BASE_URL публичный адрес backend (внутренний или внешний).
После изменения обязательно перезапустить frontend:
docker compose down frontend
docker compose up -d frontendШаг 7. (Опционально) Настройка LLM-провайдера
Для работы функции умного резюмирования и генерации отчетов необходимо подключить внешний или локальный LLM-провайдер, совместимый со стандартом API OpenAI.
vLLM — высокопроизводительная библиотека для запуска LLM. Рекомендуемый выбор для локального развертывания в продакшене.
-
Запуск vLLM: Запустите контейнер vLLM на машине с GPU (или добавьте его в
docker-compose.yml).docker run --runtime nvidia --gpus all \ -v ~/.cache/huggingface:/root/.cache/huggingface \ -p 8000:8000 \ --ipc=host \ vllm/vllm-openai:latest \ --model google/gemma-3-12b-it -
Настройка
.env:LLM_API_URL=http://<SERVER_IP>:8000/v1 LLM_API_KEY=EMPTY LLM_MODEL_NAME=google/gemma-3-12b-it LLM_MAX_NEW_TOKENS=8192
Ollama — простой способ запуска локальных моделей. Отлично подходит для тестирования и небольших нагрузок.
-
Запуск Ollama: Убедитесь, что Ollama запущен и принимает внешние подключения (
OLLAMA_HOST=0.0.0.0). Загрузите модель:ollama pull gemma3:12b -
Настройка
.env:LLM_API_URL=http://<SERVER_IP>:11434/v1 LLM_API_KEY=ollama LLM_MODEL_NAME=gemma3:12b LLM_MAX_NEW_TOKENS=8192
Рекомендация по выбору размера модели:
| Доступная VRAM | Размер модели (Params) | Пример модели |
|---|---|---|
| < 12 ГБ | 4B (квантованная) | rtex_rsm-v1n |
| 16-24 ГБ | 8B - 12B | rtex_rsm-v1s / Gemma-3-12B |
| 40-48 ГБ | 30B - 70B (4-bit) | rtex_rsm-v1m / Gemma-3-27B |
| 80 ГБ | 70B+ | rtex_rsm-v1l / Mixtral 8x7B |
Раздел 4. Запуск и тестирование
После завершения настройки можно запускать программный комплекс.
Шаг 8. Запуск контейнеров
- Убедитесь, что вы находитесь в рабочей директории (
/path/to/otascribe), где лежат файлыdocker-compose.yml,config.ymlи.env. - Запустите все сервисы в фоновом режиме:
docker compose up -dШаг 9. Проверка работы системы
- Проверьте статус запущенных контейнеров:
docker compose psВсе сервисы (backend, frontend, db, redis и т.д.) должны находиться в состоянии Up.
Пример вывода:
Name Command State Ports
----------------------------------------------------------------
otascribe_backend_1 ... Up ...
otascribe_frontend_1 ... Up ...
otascribe_db_1 ... Up 5432/tcp
otascribe_redis_1 ... Up 6379/tcp
...- Проверьте общие логи на наличие ошибок (особенно в первые минуты запуска):
docker compose logs -fЕсли вы видите ошибки, связанные с подключением к БД или Redis, перепроверьте config.yml и .env.
Шаг 10. Доступ к веб-интерфейсу
- Откройте браузер и перейдите по IP-адресу вашего сервера, используя порт
7576:
http://<SERVER_IP>:7576- Должна появиться страница входа в систему.
Учетные данные по умолчанию:
- Логин:
root - Пароль:
toor
Раздел 5. Диагностика и поддержка
Диагностика проблем
Если сервисы не запускаются или работают некорректно:
Частые проблемы
Неизвестная ошибка транскрибации
Проверить логи воркера:
docker compose logs -n 1000 otawhisp-workerЕсли видим строки:
otawhisp-worker-1 | 2025-12-04 10:12:56 ERROR <>:95 No CUDA GPUs are available
otawhisp-worker-1 | 2025-12-04 10:12:57 ERROR <>:153 No CUDA GPUs are available
otawhisp-worker-1 | 2025-12-04 10:15:18 ERROR <>:153 CUDA failed with error no CUDA-capable device is detectedНеобходимо проверить:
-
CUDA, Nvidia Container toolkit, NVCC установлены?
nvidia-smi nvcc -V -
Контейнер видит карточку?
docker compose exec -it otawhisp-worker nvidia-smi
Если видим ошибку: <Callout type="error">Failed to initialize NVML: Unknown Error</Callout>
Исправление (только для Linux):
sudo nano /etc/nvidia-container-runtime/config.toml
# Ставим:
no-cgroups = false
# Перезапускаем:
sudo systemctl restart dockerПерепроверяем:
docker compose exec -it otawhisp-worker nvidia-smiТехническая поддержка
Если вы столкнулись с проблемами, обратитесь в техническую поддержку в чате или по почте support@otascribe.ru.
Пожалуйста, предоставьте следующую информацию:
- Версию вашей ОС, Docker, CUDA и cuDNN.
- Полные логи контейнеров (
docker compose logs). - Содержимое ваших файлов
config.ymlи.env(без паролей и секретных ключей). - Детальное описание проблемы и шагов, которые вы предприняли для ее решения.