fix(turn): внешний релей использует статические креденшелы (в v1.9.7 нет поля secret)

This commit is contained in:
2026-09-19 20:38:24 +03:00
parent 496797ab04
commit 653229b6f0
+15 -7
View File
@@ -292,7 +292,13 @@ resolve_derived_values() {
TURN_DOMAIN_RESOLVED="${TURN_DOMAIN_OVERRIDE:-turn.${DOMAIN}}" TURN_DOMAIN_RESOLVED="${TURN_DOMAIN_OVERRIDE:-turn.${DOMAIN}}"
TURN_CERT_DIR="${TARGET_DIR}/certs" TURN_CERT_DIR="${TARGET_DIR}/certs"
TURN_RELAY_HOST_RESOLVED="${TURN_RELAY_HOST}" TURN_RELAY_HOST_RESOLVED="${TURN_RELAY_HOST}"
turn_shared_secret >/dev/null TURN_RELAY_USER="${TURN_RELAY_USER:-glchat}"
tun_relay_password_from_env=""
if [ -f "$GLCHAT_ENV_FILE" ]; then
tun_relay_password_from_env="$(env_get TURN_RELAY_PASSWORD || true)"
fi
TURN_RELAY_PASSWORD="${TURN_RELAY_PASSWORD:-$tun_relay_password_from_env}"
[ -n "$TURN_RELAY_PASSWORD" ] || TURN_RELAY_PASSWORD="$(rand_base64 24)"
disable_simulcast="true" disable_simulcast="true"
if [ "${PROFILE_LIVEKIT_SIMULCAST:-0}" -gt 0 ] 2>/dev/null; then if [ "${PROFILE_LIVEKIT_SIMULCAST:-0}" -gt 0 ] 2>/dev/null; then
@@ -329,7 +335,8 @@ resolve_derived_values() {
PROFILE_LIVEKIT_DISABLE_SIMULCAST PROFILE_LIVEKIT_USE_EXTERNAL_IP \ PROFILE_LIVEKIT_DISABLE_SIMULCAST PROFILE_LIVEKIT_USE_EXTERNAL_IP \
GLCHAT_DATA_DIR GLCHAT_CADDY_PROFILE GLCHAT_TURN_CERT_DIR \ GLCHAT_DATA_DIR GLCHAT_CADDY_PROFILE GLCHAT_TURN_CERT_DIR \
GLCHAT_APP_BIND GLCHAT_LIVEKIT_BIND TLS_ENABLED \ GLCHAT_APP_BIND GLCHAT_LIVEKIT_BIND TLS_ENABLED \
TURN_DOMAIN_RESOLVED TURN_CERT_DIR TURN_RELAY_HOST_RESOLVED TURN_SECRET_RESOLVED TURN_DOMAIN_RESOLVED TURN_CERT_DIR TURN_RELAY_HOST_RESOLVED TURN_SECRET_RESOLVED \
TURN_RELAY_USER TURN_RELAY_PASSWORD
} }
validate_inputs() { validate_inputs() {
@@ -658,7 +665,8 @@ TOTP_ENCRYPTION_KEY=@TOTP_ENCRYPTION_KEY@
WEBHOOK_SECRET=@WEBHOOK_SECRET@ WEBHOOK_SECRET=@WEBHOOK_SECRET@
LIVEKIT_API_KEY=@LIVEKIT_API_KEY@ LIVEKIT_API_KEY=@LIVEKIT_API_KEY@
LIVEKIT_API_SECRET=@LIVEKIT_API_SECRET@ LIVEKIT_API_SECRET=@LIVEKIT_API_SECRET@
TURN_SECRET=@TURN_SECRET@ TURN_RELAY_USER=@TURN_RELAY_USER@
TURN_RELAY_PASSWORD=@TURN_RELAY_PASSWORD@
AGE_RECIPIENT=@AGE_RECIPIENT@ AGE_RECIPIENT=@AGE_RECIPIENT@
# --- профиль производительности --- # --- профиль производительности ---
@@ -888,10 +896,10 @@ ensure_swap() {
render_turn_relay_servers() { render_turn_relay_servers() {
[ -n "$TURN_RELAY_HOST" ] || return 0 [ -n "$TURN_RELAY_HOST" ] || return 0
printf ' turn_servers:\n' printf ' turn_servers:\n'
printf ' - host: %s\n port: %s\n protocol: udp\n shared_secret: %s\n' \ printf ' - host: %s\n port: %s\n protocol: udp\n username: %s\n credential: %s\n' \
"$TURN_RELAY_HOST" "$TURN_RELAY_PORT" "$TURN_SECRET_RESOLVED" "$TURN_RELAY_HOST" "$TURN_RELAY_PORT" "$TURN_RELAY_USER" "$TURN_RELAY_PASSWORD"
printf ' - host: %s\n port: %s\n protocol: tls\n shared_secret: %s\n' \ printf ' - host: %s\n port: %s\n protocol: tls\n username: %s\n credential: %s\n' \
"$TURN_RELAY_HOST" "$TURN_RELAY_TLS_PORT" "$TURN_SECRET_RESOLVED" "$TURN_RELAY_HOST" "$TURN_RELAY_TLS_PORT" "$TURN_RELAY_USER" "$TURN_RELAY_PASSWORD"
} }
# turn_shared_secret — общий секрет для coturn (use-auth-secret) и LiveKit. # turn_shared_secret — общий секрет для coturn (use-auth-secret) и LiveKit.