Deploy: расширить relay-range coturn

This commit is contained in:
AidarKC
2026-07-24 19:43:52 +04:00
parent 20677a9090
commit f9dd245481
4 changed files with 24 additions and 4 deletions
+5
View File
@@ -45,6 +45,11 @@
- `docs/Solana_Architecture/README.md` - `docs/Solana_Architecture/README.md`
- Документ формата пользовательской PDA-записи `shine_users` находится в: - Документ формата пользовательской PDA-записи `shine_users` находится в:
- `shine-solana/shine/doc/formats/shine-user-pda-format-v.1.0.md` - `shine-solana/shine/doc/formats/shine-user-pda-format-v.1.0.md`
- Актуальная документация по серверному модулю синхронизации Solana users находится в:
- `docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md`
- При любом изменении логики серверной синхронизации `shine_users`, её таблиц PostgreSQL, checkpoint-механизма, startup/lifecycle или deploy-настроек обязательно обновлять:
- `docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md`
- `deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md`
## Документация блокчейна ## Документация блокчейна
- Актуальная документация по форматам блокчейна находится в `docs/Blockchain/README.md`. - Актуальная документация по форматам блокчейна находится в `docs/Blockchain/README.md`.
+12
View File
@@ -25,6 +25,9 @@ sudo apt install -y coturn caddy
sudo bash deploy/scripts/setup_turn_coturn.sh --realm turn1.shineup.me --secret CHANGE_ME_LONG_RANDOM_SECRET sudo bash deploy/scripts/setup_turn_coturn.sh --realm turn1.shineup.me --secret CHANGE_ME_LONG_RANDOM_SECRET
``` ```
По умолчанию этот скрипт настраивает relay-диапазон `49000-53999`.
Это стандарт SHiNE: 5000 UDP-портов под TURN relay.
## 3. coturn ## 3. coturn
Секреты не хранить в git. Настраивать на сервере через `/etc/turnserver.conf` или отдельный secret/override. Секреты не хранить в git. Настраивать на сервере через `/etc/turnserver.conf` или отдельный secret/override.
@@ -44,6 +47,14 @@ no-multicast-peers
no-cli no-cli
``` ```
Для SHiNE держать relay-range большим сразу, чтобы не упираться в `create_relay_ioa_sockets: no available ports`.
Стандартный диапазон:
```conf
min-port=49000
max-port=53999
```
Включить сервис: Включить сервис:
```bash ```bash
@@ -83,3 +94,4 @@ sudo ss -lntup | grep -E ':(3478|5349)'
- TURN credentials и shared secret не коммитить. - TURN credentials и shared secret не коммитить.
- Если TURN домен переносится на другой VPS, менять DNS, а не код приложения. - Если TURN домен переносится на другой VPS, менять DNS, а не код приложения.
- После изменения TURN-адресов обновить серверные/UI настройки, где они используются. - После изменения TURN-адресов обновить серверные/UI настройки, где они используются.
- Не сужать relay-range ниже 5000 UDP-портов без явной причины: для SHiNE это уже приводило к отказам звонков на проде `24 июля 2026`.
+1
View File
@@ -17,6 +17,7 @@ TURN нужен для WebRTC-звонков, когда прямое peer-to-pe
- DNS каждого `turnX.shineup.me` указывает на актуальный физический сервер TURN. - DNS каждого `turnX.shineup.me` указывает на актуальный физический сервер TURN.
- TLS/HTTPS и вспомогательная маршрутизация обслуживаются через Caddy, если на сервере есть web endpoint для проверки. - TLS/HTTPS и вспомогательная маршрутизация обслуживаются через Caddy, если на сервере есть web endpoint для проверки.
- `coturn` слушает TURN/STUN порты согласно локальному `turnserver.conf`. - `coturn` слушает TURN/STUN порты согласно локальному `turnserver.conf`.
- Стандартный relay-range SHiNE: `49000-53999` (`5000` UDP-портов).
- Секреты TURN не хранить в git. - Секреты TURN не хранить в git.
## Что проверять ## Что проверять
+6 -4
View File
@@ -9,8 +9,8 @@ set -euo pipefail
SECRET="" SECRET=""
REALM="turn1.shineup.me" REALM="turn1.shineup.me"
MIN_PORT="49160" MIN_PORT="49000"
MAX_PORT="49200" MAX_PORT="53999"
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
case "$1" in case "$1" in
@@ -23,11 +23,11 @@ while [[ $# -gt 0 ]]; do
shift 2 shift 2
;; ;;
--min-port) --min-port)
MIN_PORT="${2:-49160}" MIN_PORT="${2:-49000}"
shift 2 shift 2
;; ;;
--max-port) --max-port)
MAX_PORT="${2:-49200}" MAX_PORT="${2:-53999}"
shift 2 shift 2
;; ;;
*) *)
@@ -87,6 +87,8 @@ systemctl --no-pager --full status coturn
echo echo
echo "coturn настроен." echo "coturn настроен."
echo "Стандартный relay-range SHiNE: ${MIN_PORT}-${MAX_PORT}."
echo "Рекомендуемый размер диапазона: не меньше 5000 UDP-портов."
echo "Откройте firewall: 3478/tcp, 3478/udp, ${MIN_PORT}-${MAX_PORT}/udp" echo "Откройте firewall: 3478/tcp, 3478/udp, ${MIN_PORT}-${MAX_PORT}/udp"
echo "Для SHiNE-сервера задайте такой же shared-secret в параметре:" echo "Для SHiNE-сервера задайте такой же shared-secret в параметре:"
echo " -Dcall.ice.turn.sharedSecret=${SECRET}" echo " -Dcall.ice.turn.sharedSecret=${SECRET}"