# Настройка TURN-сервера TURN-хосты SHiNE должны использовать домены: - `turn1.shineup.me` - `turn2.shineup.me` - `turn3.shineup.me` IP не фиксировать в документах и скриптах как основной идентификатор. ## 1. DNS Создать или обновить DNS `A/AAAA` для нужного `turnX.shineup.me`. ## 2. Пакеты ```bash sudo apt update sudo apt install -y coturn caddy ``` Можно использовать вспомогательный скрипт на самом TURN-хосте: ```bash sudo bash deploy/scripts/setup_turn_coturn.sh --realm turn1.shineup.me --secret CHANGE_ME_LONG_RANDOM_SECRET ``` ## 3. coturn Секреты не хранить в git. Настраивать на сервере через `/etc/turnserver.conf` или отдельный secret/override. Минимальная схема: ```conf listening-port=3478 tls-listening-port=5349 fingerprint lt-cred-mech realm=turn1.shineup.me server-name=turn1.shineup.me use-auth-secret static-auth-secret= no-multicast-peers no-cli ``` Включить сервис: ```bash sudo systemctl enable coturn sudo systemctl restart coturn ``` ## 4. Caddy Caddy можно использовать для HTTPS health/check endpoint и автоматического TLS на домене. Пример: ```caddyfile turn1.shineup.me { respond /health "ok" 200 } ``` Проверка: ```bash sudo caddy validate --config /etc/caddy/Caddyfile sudo systemctl restart caddy curl -I https://turn1.shineup.me/health ``` ## 5. Проверка портов ```bash sudo systemctl --no-pager --full status coturn caddy sudo ss -lntup | grep -E ':(3478|5349)' ``` ## 6. Важное - TURN credentials и shared secret не коммитить. - Если TURN домен переносится на другой VPS, менять DNS, а не код приложения. - После изменения TURN-адресов обновить серверные/UI настройки, где они используются.