Browse Source

feat(prosody) - Added TURN_USERNAME and TURN_PASSWORD (#1989)

Co-authored-by: lala <lala@mediot.com.tw>
kychen 4 months ago
parent
commit
3ba77e1964
2 changed files with 43 additions and 3 deletions
  1. 2 0
      docker-compose.yml
  2. 41 3
      prosody/rootfs/defaults/prosody.cfg.lua

+ 2 - 0
docker-compose.yml

@@ -304,6 +304,8 @@ services:
             - STUN_HOST
             - STUN_PORT
             - TURN_CREDENTIALS
+            - TURN_USERNAME
+            - TURN_PASSWORD
             - TURN_HOST
             - TURNS_HOST
             - TURN_PORT

+ 41 - 3
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 }}
 };