Документация по SocketAPI
Универсальные ошибки API
- Поставить пакетный менеджер Yarn (
npm install --global yarn) - Установить зависимые пакеты (
yarn) - Запустить Redis и PostgreSQL сервера, создать базу данных для приложения в PostgresQL
- Сделать дубликат файла
.env.example, назвать его.env. Отредактировать файл, задав все переменные. - Запустить миграции (
yarn run migrate up) - (Опционально) Запустить тесты (
yarn test) - Запустить сервер в режиме разработки (
yarn run dev). Будет доступен Swagger по роуту/documentation, а также расширенное логирование в консоль. - Или запустить сервер в production режиме (
yarn start).
- Установить docker-compose
- Скопировать файл
.env.exampleв файл.envи заполнить параметры, касающиеся токенов соц.сетей - Запустить из папки проекта
docker-compose up. docker-compose up можно запустить с аргументом -d (docker-compose -d up), чтобы контейнеры запустились в фоне. - Если сервисы запущены в фоне, то введите комманду
docker-compose down, чтобы отключить сервисы и удалить контейнеры.
При запуске будут запущены контейнеры heyka_redis на порту 6379, heyka_postgres на порту 5432, heyka_janus на 7088, 8088 и 10000-12000\udp, и heyka_backend на порту 5000. Ко всем этим сервисам можно обращаться напрямую. Например, можно подключиться к базе данных с помощью комманды docker exec -it heyka_postgres psql -U heyka -d heyka. Или к редису docker exec -it heyka_redis redis-cli.
Если запустить сервер с параметром окружения NODE_ENV=development, то по роуту /documentation будет доступна API-документация.
Запустите yarn test, чтобы сделать полное тестирования приложения. Для полного тестирования понадобятся запущенные Redis и Postgres сервер и установленные переменные окружения в файле .env.
По команде yarn run lint можно проверить соответствие кода установленному style-guide.
Из каталога docker/janus построить образ с помощью Dockerfile, затем запустить контейнер командой по типу docker run -d --name janus -p 10000-10200:10000-10200/udp -p 8088:8088 -p 7088:7088 -v %ABSOLUTE_PATH_TO_PROJECT_DIRECTORY%/docker/janus/conf:/opt/janus/etc/janus %JANUS_IMAGE_NAME%.
Для запуска Janus-сервера в интерактивном режиме (чтобы видеть логи), добавьте вместо аргумента -d аргументы -it.
При деплое Janus-сервера для веб-сервера Хейки необходимо предоставить возможность указать следующие параметры:
janus.cfg[admin_secret]janus.plugin.audiobridge.jcfg[general.admin_key]janus.plugin.videoroom.jcfg[general.admin_key]
- Включен\выключен микрофон
- Включены\выключены наушники
- Активен ли экран пользователя
- Шарит пользователь экран\не шарит
- Шарит пользователь видео с веб-камеры или не шарит