Инструкция по установке и эксплуатации экземпляра ПО «Sasha AI Audio»
Документ описывает порядок развёртывания экземпляра ПО для проведения экспертной проверки и для промышленной эксплуатации.
1. Состав поставки
Экземпляр ПО предоставляется в виде архива с исходным кодом и файлами сборки контейнеров (либо в виде доступа по SSH к развёрнутому экземпляру). Структура:
sasha-ai-tts/
├── docker-compose.yml # описание всех сервисов
├── .env.example # пример переменных окружения
├── apps/
│ ├── backend/ # API (NestJS)
│ ├── frontend/ # веб-интерфейс (Next.js)
│ └── tts-silero/ # движок синтеза Silero (Python)
└── docs/ # документация
2. Требования к окружению
- ОС семейства Linux (Astra Linux, РЕД ОС, Ubuntu и совместимые).
- Установленные Docker (версии 24+) и Docker Compose (v2).
- 2 vCPU, 4+ ГБ ОЗУ, 5+ ГБ свободного места.
- Доступ в интернет требуется только на этапе первой сборки образов (загрузка зависимостей и модели Silero). После сборки движок Silero работает автономно.
3. Установка
Распакуйте архив и перейдите в каталог проекта:
cd sasha-ai-ttsСоздайте файл переменных окружения:
cp .env.example .envПри необходимости задайте параметры в
.env:POSTGRES_PASSWORD,JWT_SECRET— смените на собственные значения;YANDEX_API_KEY,YANDEX_FOLDER_ID— заполните, если планируется использование движка Yandex SpeechKit (необязательно; движок Silero работает без этих параметров).
Соберите и запустите все сервисы:
docker compose up -d --buildПервая сборка может занять время из-за загрузки модели синтеза Silero.
Дождитесь запуска (статус сервисов
healthy/running):docker compose ps
4. Проверка работоспособности
Проверка доступности API:
curl http://localhost:4000/api/health # {"status":"ok","service":"sasha-ai-tts", ...}Откройте веб-интерфейс в браузере: http://localhost:3000.
Зарегистрируйте пользователя (кнопка «Начать бесплатно»).
В разделе «Синтез» введите текст, выберите движок Silero и голос, нажмите «Озвучить» — будет воспроизведён синтезированный аудиофайл.
Спецификация API (Swagger): http://localhost:4000/api/docs.
5. Доступ для экспертной проверки
Для проверки экземпляра эксперту предоставляются:
- адрес веб-интерфейса и учётные данные (логин/пароль) тестового пользователя;
- адрес и спецификация API (Swagger);
- при необходимости — доступ по SSH к серверу с развёрнутым экземпляром.
Движок Silero обеспечивает синтез без доступа в интернет, поэтому проверка базовой функциональности возможна в изолированном окружении.
6. Эксплуатация
6.1. Создание API-ключа
Личный кабинет → «API-ключи» → задать название → «Создать». Ключ отображается один раз, сохраните его.
6.2. Синтез через API
curl -X POST "http://localhost:4000/api/v1/synthesize" \
-H "X-Api-Key: sk_live_ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"text":"Здравствуйте!","provider":"silero","voice":"baya","format":"mp3"}' \
--output result.mp3
6.3. Обновление и остановка
docker compose pull # при использовании готовых образов
docker compose up -d --build
docker compose down # остановка
6.4. Резервное копирование
Данные хранятся в Docker-томах pgdata (база данных) и audiodata (кэш аудио).
Резервное копирование выполняется штатными средствами Docker/файловой системы.
7. Контакты технической поддержки
ООО «Полезный звонок». Поддержка осуществляется силами правообладателя на территории Российской Федерации.