From 3ba77e1964feaac814e33cefbbedd52df022630c Mon Sep 17 00:00:00 2001 From: kychen Date: Mon, 6 Jan 2025 18:01:54 +0800 Subject: [PATCH] feat(prosody) - Added TURN_USERNAME and TURN_PASSWORD (#1989) Co-authored-by: lala --- docker-compose.yml | 2 ++ prosody/rootfs/defaults/prosody.cfg.lua | 44 +++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5103c4343d..32e492ae95 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -304,6 +304,8 @@ services: - STUN_HOST - STUN_PORT - TURN_CREDENTIALS + - TURN_USERNAME + - TURN_PASSWORD - TURN_HOST - TURNS_HOST - TURN_PORT diff --git a/prosody/rootfs/defaults/prosody.cfg.lua b/prosody/rootfs/defaults/prosody.cfg.lua index 170416b94e..c278acd4a5 100644 --- a/prosody/rootfs/defaults/prosody.cfg.lua +++ b/prosody/rootfs/defaults/prosody.cfg.lua @@ -331,7 +331,7 @@ log = { {{ end }} } -{{ if $PROSODY_ENABLE_METRICS }} +{{ if $PROSODY_ENABLE_METRICS }} -- Statistics Provider configuration statistics = "internal" statistics_interval = "manual" @@ -351,7 +351,26 @@ external_services = { {{- range $idx1, $host := $TURN_HOSTS -}} {{- range $idx2, $transport := $TURN_TRANSPORTS -}} {{- if or $STUN_HOST $idx1 $idx2 -}},{{- end }} - { type = "turn", host = "{{ $host }}", port = {{ $TURN_PORT }}, transport = "{{ $transport }}", secret = true, ttl = {{ $TURN_TTL }}, algorithm = "turn" } + { + type = "turn", + host = "{{ $host }}", + port = {{ $TURN_PORT }}, + transport = "{{ $transport }}", + ttl = {{ $TURN_TTL }}, + + {{ if $.Env.TURN_CREDENTIALS -}} + secret = true, + algorithm = "turn", + {{- end }} + + {{ if $.Env.TURN_USERNAME -}} + username = "{{$.Env.TURN_USERNAME}}", + {{- end }} + + {{ if $.Env.TURN_PASSWORD -}} + password = "{{$.Env.TURN_PASSWORD}}", + {{- end }} + } {{- end -}} {{- end -}} {{- end -}} @@ -359,7 +378,26 @@ external_services = { {{- if $TURNS_HOST -}} {{- range $idx, $host := $TURNS_HOSTS -}} {{- if or $STUN_HOST $TURN_HOST $idx -}},{{- end }} - { type = "turns", host = "{{ $host }}", port = {{ $TURNS_PORT }}, transport = "tcp", secret = true, ttl = {{ $TURN_TTL }}, algorithm = "turn" } + { + type = "turns", + host = "{{ $host }}", + port = {{ $TURNS_PORT }}, + transport = "tcp", + ttl = {{ $TURN_TTL }}, + + {{ if $.Env.TURN_CREDENTIALS -}} + secret = true, + algorithm = "turn", + {{- end }} + + {{ if $.Env.TURN_USERNAME -}} + username = "{{$.Env.TURN_USERNAME}}", + {{- end }} + + {{ if $.Env.TURN_PASSWORD -}} + password = "{{$.Env.TURN_PASSWORD}}", + {{- end }} + } {{- end }} {{- end }} };