Быстрый старт VoceSpace

Данный документ описывает, как использовать предоставленные автоматизированные скрипты для развертывания VoceSpace.

Поддерживает развертывание VoceSpace + LiveKit Server + Redis одной командой.

Описание файлов

  • vocespace_deploy.sh - Скрипт автоматического развертывания для Linux/macOS
  • vocespace_deploy.bat - Скрипт автоматического развертывания для Windows
  • README.md - Данная документация

Возможности

  • ✅ Автоматическое определение системной архитектуры и IP-адреса хоста
  • ✅ Поддержка пользовательских файлов конфигурации
  • ✅ Установка и запуск всех необходимых компонентов одной командой
  • ✅ Интеллектуальная обработка существующих сервисов
  • ✅ Подробная проверка состояния и вывод логов
  • ✅ Поддержка принудительной переустановки и пропуска компонентов

Использование

Linux/macOS

1# Базовое использование - с конфигурацией по умолчанию
2sh ./vocespace_deploy.sh
3
4# Использование пользовательского файла конфигурации
5sh ./vocespace_deploy.sh --config ./my-config.json
6
7# Указание IP-адреса хоста
8sh ./vocespace_deploy.sh --host-ip 192.168.1.100
9
10# Принудительная переустановка всех компонентов
11sh ./vocespace_deploy.sh --force
12
13# Пропуск установки некоторых компонентов
14sh ./vocespace_deploy.sh --skip-redis --skip-livekit
15
16# Комбинированное использование
17sh ./vocespace_deploy.sh --config ./config.json --host-ip 192.168.1.100 --force

Windows

1# REM Базовое использование - с конфигурацией по умолчанию
2vocespace_deploy.bat
3
4# REM Использование пользовательского файла конфигурации
5vocespace_deploy.bat --config ./my-config.json
6
7# REM Указание IP-адреса хоста
8vocespace_deploy.bat --host-ip 192.168.1.100
9
10# REM Принудительная переустановка всех компонентов
11vocespace_deploy.bat --force
12
13# REM Пропуск установки некоторых компонентов
14vocespace_deploy.bat --skip-redis --skip-livekit

Параметры командной строки

Параметр Описание Пример
--config FILE Указать путь к файлу конфигурации --config ./vocespace.conf.json
--host-ip IP Указать IP-адрес хоста --host-ip 192.168.1.100
--force Принудительная переустановка всех компонентов --force
--skip-redis Пропустить установку Redis --skip-redis
--skip-livekit Пропустить установку LiveKit Server --skip-livekit
-h, --help Показать справочную информацию --help

Формат файла конфигурации

Скрипт поддерживает файлы конфигурации в формате JSON. Пример конфигурации по умолчанию:

1{
2  "livekit": {
3    "key": "devkey",
4    "secret": "secret",
5    "url": "wss://your.ip:7880"
6  },
7  "codec": "vp9",
8  "resolution": "1080p",
9  "maxBitrate": 3000000,
10  "maxFramerate": 30,
11  "priority": "medium",
12  "redis": { 
13    "enabled": true, 
14    "host": "your.ip",
15    "port": 6379, 
16    "password": "vocespace", 
17    "db": 0 
18  },
19  "serverUrl": "localhost",
20  "hostToken": "vocespace",
21  "license": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImhhbkBwcml2b2NlLmNvbSIsImV4cGlyZXNfYXQiOjQ4OTEzMzQ0MDAsImNyZWF0ZWRfYXQiOjE3MzU2NjA4MDAsImRvbWFpbnMiOiIqIiwibGltaXQiOiJmcmVlIiwiaWQiOiI2NGUyMjYwZS0xMzQwLTQxNjQtOWNmZC0zMGUwMjhlYTg0ZWQifQ.T0vIHUCxv9j75lb92RDDaegpPO9W9hxWEXqZVidwL0E"
22}

Примечание: Скрипт автоматически заменит your.ip в файле конфигурации на фактический IP-адрес хоста.

Процесс развертывания

Скрипт выполняет развертывание в следующем порядке:

  1. Проверка окружения

    • Определение операционной системы и архитектуры
    • Проверка установки и статуса работы Docker
    • Автоматическое определение или проверка IP-адреса хоста
  2. Обработка конфигурации

    • Проверка наличия и формата файла конфигурации
    • Автоматическое создание конфигурации по умолчанию (если не указана)
    • Обновление IP-адреса в конфигурации
  3. Установка компонентов

    • Установка Redis (можно пропустить)
    • Установка LiveKit Server (можно пропустить)
  4. Образы и сервисы

    • Загрузка Docker-образа VoceSpace для соответствующей архитектуры
    • Запуск сервиса Redis
    • Запуск LiveKit Server
    • Запуск контейнера VoceSpace
  5. Проверка состояния

    • Проверка статуса работы всех сервисов
    • Отображение адресов доступа и команд управления

Порты сервисов

После завершения развертывания будут использоваться следующие порты:

Сервис Порт Описание
VoceSpace 3000 Порт доступа к основному приложению
LiveKit Server 7880 Сервис сигнализации WebRTC
LiveKit Server 7881 Передача данных WebRTC
Redis 6379 Кэш и хранилище сессий

Устранение неполадок

Распространенные проблемы

  1. Docker не запущен

    ❌ Docker не запущен, пожалуйста, запустите сервис Docker
    • Linux: sudo systemctl start docker
    • macOS/Windows: Запустите Docker Desktop
  2. Конфликт портов

    Error response from daemon: port is already allocated
    • Проверьте занятость порта: lsof -i :3000
    • Остановите конфликтующий сервис или используйте параметр --force
  3. Ошибка формата файла конфигурации

    ❌ Ошибка формата JSON в файле конфигурации
    • Используйте инструмент проверки JSON для проверки формата
    • Убедитесь в отсутствии лишних запятых или кавычек
  4. Ошибка определения IP-адреса

    ❌ Не удалось определить IP-адрес хоста
    • Укажите IP вручную: --host-ip YOUR_IP
    • Проверьте состояние сетевого подключения

Просмотр логов

  • Логи контейнера VoceSpace: docker logs vocespace
  • Логи LiveKit Server: tail -f livekit-server.log
  • Логи Redis: tail -f redis.log

Управление сервисами

  • Остановить VoceSpace: docker stop vocespace

  • Остановить LiveKit: pkill -f livekit-server

  • Остановить Redis: pkill -f redis-server

  • Перезапустить VoceSpace: docker restart vocespace

  • Проверить статус контейнера: docker ps

Системные требования

Минимальные требования

  • CPU: 2 ядра
  • Память: 4GB RAM
  • Диск: 10GB свободного пространства
  • Сеть: Стабильное интернет-соединение

Поддерживаемые системы

  • Linux: Ubuntu 18.04+, CentOS 7+, Debian 10+
  • macOS: 10.14+
  • Windows: Windows 10/11 (требуется WSL2 или Docker Desktop)