prosody: add support for A/V Moderation
Set ENABLE_AV_MODERATION to 1 in order to enable it. NOTE: This feature is still under development and should be considered beta quality.
This commit is contained in:
committed by
Saúl Ibarra Corretgé
parent
856e414084
commit
c95f0d6b16
@@ -125,6 +125,7 @@ services:
|
|||||||
- ENABLE_AUTH
|
- ENABLE_AUTH
|
||||||
- ENABLE_GUESTS
|
- ENABLE_GUESTS
|
||||||
- ENABLE_LOBBY
|
- ENABLE_LOBBY
|
||||||
|
- ENABLE_AV_MODERATION
|
||||||
- ENABLE_XMPP_WEBSOCKET
|
- ENABLE_XMPP_WEBSOCKET
|
||||||
- GLOBAL_MODULES
|
- GLOBAL_MODULES
|
||||||
- GLOBAL_CONFIG
|
- GLOBAL_CONFIG
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ TZ=UTC
|
|||||||
# Control whether the lobby feature should be enabled or not
|
# Control whether the lobby feature should be enabled or not
|
||||||
#ENABLE_LOBBY=1
|
#ENABLE_LOBBY=1
|
||||||
|
|
||||||
|
# Control whether the A/V moderation should be enabled or not
|
||||||
|
#ENABLE_AV_MODERATION=1
|
||||||
|
|
||||||
# Show a prejoin page before entering a conference
|
# Show a prejoin page before entering a conference
|
||||||
#ENABLE_PREJOIN_PAGE=0
|
#ENABLE_PREJOIN_PAGE=0
|
||||||
|
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ services:
|
|||||||
- ENABLE_AUTH
|
- ENABLE_AUTH
|
||||||
- ENABLE_GUESTS
|
- ENABLE_GUESTS
|
||||||
- ENABLE_LOBBY
|
- ENABLE_LOBBY
|
||||||
|
- ENABLE_AV_MODERATION
|
||||||
- ENABLE_XMPP_WEBSOCKET
|
- ENABLE_XMPP_WEBSOCKET
|
||||||
- GLOBAL_MODULES
|
- GLOBAL_MODULES
|
||||||
- GLOBAL_CONFIG
|
- GLOBAL_CONFIG
|
||||||
|
|||||||
@@ -1,3 +1,18 @@
|
|||||||
|
{{ $ENABLE_AUTH := .Env.ENABLE_AUTH | default "0" | toBool }}
|
||||||
|
{{ $ENABLE_GUEST_DOMAIN := and $ENABLE_AUTH (.Env.ENABLE_GUESTS | default "0" | toBool)}}
|
||||||
|
{{ $AUTH_TYPE := .Env.AUTH_TYPE | default "internal" }}
|
||||||
|
{{ $JWT_ASAP_KEYSERVER := .Env.JWT_ASAP_KEYSERVER | default "" }}
|
||||||
|
{{ $JWT_ALLOW_EMPTY := .Env.JWT_ALLOW_EMPTY | default "0" | toBool }}
|
||||||
|
{{ $JWT_AUTH_TYPE := .Env.JWT_AUTH_TYPE | default "token" }}
|
||||||
|
{{ $JWT_TOKEN_AUTH_MODULE := .Env.JWT_TOKEN_AUTH_MODULE | default "token_verification" }}
|
||||||
|
{{ $ENABLE_LOBBY := .Env.ENABLE_LOBBY | default "0" | toBool }}
|
||||||
|
{{ $ENABLE_AV_MODERATION := .Env.ENABLE_AV_MODERATION | default "0" | toBool }}
|
||||||
|
{{ $ENABLE_XMPP_WEBSOCKET := .Env.ENABLE_XMPP_WEBSOCKET | default "1" | toBool }}
|
||||||
|
{{ $PUBLIC_URL := .Env.PUBLIC_URL | default "https://localhost:8443" -}}
|
||||||
|
{{ $TURN_PORT := .Env.TURN_PORT | default "443" }}
|
||||||
|
{{ $TURNS_PORT := .Env.TURNS_PORT | default "443" }}
|
||||||
|
{{ $XMPP_MUC_DOMAIN_PREFIX := (split "." .Env.XMPP_MUC_DOMAIN)._0 }}
|
||||||
|
|
||||||
admins = {
|
admins = {
|
||||||
"{{ .Env.JICOFO_AUTH_USER }}@{{ .Env.XMPP_AUTH_DOMAIN }}",
|
"{{ .Env.JICOFO_AUTH_USER }}@{{ .Env.XMPP_AUTH_DOMAIN }}",
|
||||||
"{{ .Env.JVB_AUTH_USER }}@{{ .Env.XMPP_AUTH_DOMAIN }}"
|
"{{ .Env.JVB_AUTH_USER }}@{{ .Env.XMPP_AUTH_DOMAIN }}"
|
||||||
@@ -9,24 +24,12 @@ unlimited_jids = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
plugin_paths = { "/prosody-plugins/", "/prosody-plugins-custom" }
|
plugin_paths = { "/prosody-plugins/", "/prosody-plugins-custom" }
|
||||||
-- domain mapper options, must at least have domain base set to use the mapper
|
|
||||||
muc_mapper_domain_base = "{{ .Env.XMPP_DOMAIN }}";
|
muc_mapper_domain_base = "{{ .Env.XMPP_DOMAIN }}";
|
||||||
|
muc_mapper_domain_prefix = "{{ $XMPP_MUC_DOMAIN_PREFIX }}";
|
||||||
|
|
||||||
http_default_host = "{{ .Env.XMPP_DOMAIN }}"
|
http_default_host = "{{ .Env.XMPP_DOMAIN }}"
|
||||||
|
|
||||||
{{ $ENABLE_AUTH := .Env.ENABLE_AUTH | default "0" | toBool }}
|
|
||||||
{{ $ENABLE_GUEST_DOMAIN := and $ENABLE_AUTH (.Env.ENABLE_GUESTS | default "0" | toBool)}}
|
|
||||||
{{ $AUTH_TYPE := .Env.AUTH_TYPE | default "internal" }}
|
|
||||||
{{ $JWT_ASAP_KEYSERVER := .Env.JWT_ASAP_KEYSERVER | default "" }}
|
|
||||||
{{ $JWT_ALLOW_EMPTY := .Env.JWT_ALLOW_EMPTY | default "0" | toBool }}
|
|
||||||
{{ $JWT_AUTH_TYPE := .Env.JWT_AUTH_TYPE | default "token" }}
|
|
||||||
{{ $JWT_TOKEN_AUTH_MODULE := .Env.JWT_TOKEN_AUTH_MODULE | default "token_verification" }}
|
|
||||||
{{ $ENABLE_LOBBY := .Env.ENABLE_LOBBY | default "0" | toBool }}
|
|
||||||
|
|
||||||
{{ $ENABLE_XMPP_WEBSOCKET := .Env.ENABLE_XMPP_WEBSOCKET | default "1" | toBool }}
|
|
||||||
{{ $PUBLIC_URL := .Env.PUBLIC_URL | default "https://localhost:8443" -}}
|
|
||||||
{{ $TURN_PORT := .Env.TURN_PORT | default "443" }}
|
|
||||||
{{ $TURNS_PORT := .Env.TURNS_PORT | default "443" }}
|
|
||||||
|
|
||||||
{{ if .Env.TURN_CREDENTIALS }}
|
{{ if .Env.TURN_CREDENTIALS }}
|
||||||
external_service_secret = "{{.Env.TURN_CREDENTIALS}}";
|
external_service_secret = "{{.Env.TURN_CREDENTIALS}}";
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -119,6 +122,9 @@ VirtualHost "{{ .Env.XMPP_DOMAIN }}"
|
|||||||
{{ if $ENABLE_LOBBY }}
|
{{ if $ENABLE_LOBBY }}
|
||||||
"muc_lobby_rooms";
|
"muc_lobby_rooms";
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ if $ENABLE_AV_MODERATION }}
|
||||||
|
"av_moderation";
|
||||||
|
{{ end }}
|
||||||
{{ if .Env.XMPP_MODULES }}
|
{{ if .Env.XMPP_MODULES }}
|
||||||
"{{ join "\";\n\"" (splitList "," .Env.XMPP_MODULES) }}";
|
"{{ join "\";\n\"" (splitList "," .Env.XMPP_MODULES) }}";
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -138,6 +144,10 @@ VirtualHost "{{ .Env.XMPP_DOMAIN }}"
|
|||||||
speakerstats_component = "speakerstats.{{ .Env.XMPP_DOMAIN }}"
|
speakerstats_component = "speakerstats.{{ .Env.XMPP_DOMAIN }}"
|
||||||
conference_duration_component = "conferenceduration.{{ .Env.XMPP_DOMAIN }}"
|
conference_duration_component = "conferenceduration.{{ .Env.XMPP_DOMAIN }}"
|
||||||
|
|
||||||
|
{{ if $ENABLE_AV_MODERATION }}
|
||||||
|
av_moderation_component = "avmoderation.{{ .Env.XMPP_DOMAIN }}"
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
c2s_require_encryption = false
|
c2s_require_encryption = false
|
||||||
|
|
||||||
{{ if $ENABLE_GUEST_DOMAIN }}
|
{{ if $ENABLE_GUEST_DOMAIN }}
|
||||||
@@ -209,6 +219,11 @@ Component "speakerstats.{{ .Env.XMPP_DOMAIN }}" "speakerstats_component"
|
|||||||
Component "conferenceduration.{{ .Env.XMPP_DOMAIN }}" "conference_duration_component"
|
Component "conferenceduration.{{ .Env.XMPP_DOMAIN }}" "conference_duration_component"
|
||||||
muc_component = "{{ .Env.XMPP_MUC_DOMAIN }}"
|
muc_component = "{{ .Env.XMPP_MUC_DOMAIN }}"
|
||||||
|
|
||||||
|
{{ if $ENABLE_AV_MODERATION }}
|
||||||
|
Component "avmoderation.{{ .Env.XMPP_DOMAIN }}" "av_moderation_component"
|
||||||
|
muc_component = "{{ .Env.XMPP_MUC_DOMAIN }}"
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{ if $ENABLE_LOBBY }}
|
{{ if $ENABLE_LOBBY }}
|
||||||
Component "lobby.{{ .Env.XMPP_DOMAIN }}" "muc"
|
Component "lobby.{{ .Env.XMPP_DOMAIN }}" "muc"
|
||||||
storage = "memory"
|
storage = "memory"
|
||||||
|
|||||||
Reference in New Issue
Block a user