# Конфигурация coturn. Верифицировано по официальной документации # (github.com/coturn/coturn/wiki/turnserver, docker/coturn/README.md). # Запускается с network_mode: host в docker-compose.yml (рекомендация coturn # для широких диапазонов UDP relay-портов). # # coturn подставляет $(VAR) при старте ТОЛЬКО когда вызывается через # CLI-флаги entrypoint'а образа — при передаче файла конфигурации (как # здесь, `-c /etc/coturn/turnserver.conf`) подстановка не работает. Поэтому # реальные static-auth-secret/realm/external-ip рендерятся из этого шаблона # в turnserver.conf скриптом deploy/render-templates.sh (envsubst) ПЕРЕД # `docker compose up`. Не редактируйте turnserver.conf напрямую — правки # затрутся при следующем рендере. listening-port=3478 # Установить 5349 в проде для TURN over TLS, если будут смонтированы # реальные TLS-сертификаты (см. закомментированные cert/pkey ниже). tls-listening-port=5349 # Диапазон relay-портов для TURN-аллокаций. min-port=49160 max-port=49200 # --- Long-term credential mechanism через shared secret (TURN REST API) --- use-auth-secret static-auth-secret=${TURN_STATIC_AUTH_SECRET} realm=${TURN_REALM} # Обязателен для WebRTC-клиентов (добавляет STUN FINGERPRINT атрибут). fingerprint # Без CLI/telnet admin-интерфейса в этой поставке. no-cli # Раскомментировать и смонтировать реальные сертификаты, чтобы включить # TURN over TLS на 443: # cert=/etc/coturn/certs/cert.pem # pkey=/etc/coturn/certs/key.pem log-file=stdout simple-log # Внешний IP сервера — обязателен для клиентов вне docker-сети # (network_mode: host здесь не даёт coturn определить публичный IP # автоматически). Для локальной разработки (без внешних участников) # достаточно 127.0.0.1 (значение по умолчанию в .env.example); в проде — # реальный внешний IP/домен сервера. external-ip=${TURN_EXTERNAL_IP}