Project

General

Profile

Actions

Wiki » History » Revision 26

« Previous | Revision 26/28 (diff) | Next »
Дмитрий Курнаев, 07/01/2025 07:53 AM


Инструкция

I - Устанавливаем ОС Ubuntu 22.04

Здесь вопросов быть не должно

II - Настройка сервера сигнализации (High-performance backend) для Nextcloud Talk

Введение

Установка выполнена на ВМ: 4 CPU, 16 GB RAM, 60GB, ОС Ubuntu 22.04
Должны быть включены следующие порты:

22 (ваш SSH порт)
80 (TCP)
443 (TCP)
3478 (UDP и TCP)

1. Подготовка системы

sudo apt update && apt upgrade
sudo apt install make protobuf-compiler git python3 docker.io zip unzip

2.Установка последней версии Go

2.1. wget https://go.dev/dl/go1.21.3.linux-amd64.tar.gz - качаем архив

2.2. sha256sum go1.21.3.linux-amd64.tar.gz - проверяем хэш

2.3. sudo tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz - разворачиваем архив

2.4. sudo nano ~/.profile

2.5 export PATH=$PATH:/usr/local/go/bin - правим переменные окружения
export GOPATH=$HOME/goproject
export PATH=$PATH:$GOPATH/bin
source ~/.profile

2.6. mkdir $HOME/goproject - создаем рабочую директорию

2.7. go version - проверяем версию

3. Настройка NATS сервера

3.1. docker pull nats:latest - стягиваем образ

3.2. docker run -d --name nats-server -p 4222:4222 -ti nats:latest - запускаем в фоне на порту 4222

4. Установка Janus

4.1. sudo apt install janus - ставим

4.2. systemctl enable janus - добавляем в автозагрузку

4.3. systemctl status janus - проверям статус

4.4. openssl rand -hex 8 - генерим ключ

4.5. sudo nano /etc/janus/janus.jcfg - в разделе NAT находим раскомментим "full_trickle = true" и добавим turn_rest_api_key = <сгенерированый_ранее_ключ>

4.6. sudo nano /etc/janus/janus.transport.http.jcfg - раскомментим "interface = eth0" и заменим "eth0" на "lo"

4.7. sudo nano /etc/janus/janus.transport.websockets.jcfg - раскомментим "interface_ws = eth0" и заменим "eth0" на "lo"

4.8. sudo systemctl restart janus - рестартуем

5. Установка coTURN

5.1. sudo apt install coturn - устанавливаем

5.2. systemctl enable coturn - добавляем в автозагрузку

5.3. cp /etc/turnserver.conf /etc/turnserver.conf_BAK - бэкапим дефолтную конфигурацию

5.4. openssl rand -hex 16 - генерим ключ

5.5. sudo nano /etc/turnserver.conf - заменяем содержимое следующим:

listening-port=3478
fingerprint
use-auth-secret
static-auth-secret=&lt;key_created_above&gt;
realm=talk.hackerspace.ru
total-quota=100
bps-capacity=0
stale-nonce
no-multicast-peers

5.6. sudo systemctl restart coturn - рестартуем

6. Загрузка сервера сигнализации

07d33c884ba67d02

47576fe6d8fd27c20361f75b6c4a360

https://github.com/mailru/easyjson/archive/refs/tags/v0.9.0.zip

google.golang.org/grpc/cmd/protoc-gen-go-grpc

Hash ключ: 796b0fc8718aff580267d4b1d872a104

Block ключ: 0a6c3b9959bbccc7a38cb647ee0fce97

Internal secret (используется для внешних клиентов, таких как сервер записи): 92543f1751347542ef9155c9ad013fdc

Nextcloud облачный секретный ключ: c79c7399d9d866d4f100867198a7be17

ws://talk.krovelson.ru/apps/spreed/api/socket

Updated by Дмитрий Курнаев 7 months ago · 26 revisions