mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-04-12 00:03:17 +02:00
199 lines
6.0 KiB
Django/Jinja
199 lines
6.0 KiB
Django/Jinja
|
|
plugin_paths = { "{{ jitsi_root_dir }}/prosody/modules" }
|
|
|
|
muc_mapper_domain_base = "{{ jitsi_domain }}";
|
|
admins = { "{{ jitsi_jicofo_xmpp_user }}@{{ jitsi_auth_domain }}" };
|
|
http_default_host = "{{ jitsi_domain }}";
|
|
|
|
{% if jitsi_turn_secret is defined %}
|
|
external_service_secret = "{{ jitsi_turn_secret }}";
|
|
{% endif %}
|
|
|
|
external_services = {
|
|
{% for stun in jitsi_stun_servers %}
|
|
{
|
|
type = "{{ stun | urlsplit('scheme') }}",
|
|
host = "{{ stun | regex_replace('(turns?|stun):([^:]+)(:\d+)?.*', '\\2') }}",
|
|
{% if stun | regex_replace('(turns?|stun):.+:(\d+)?.*', '\\2') | int > 0 and stun | regex_replace('(turns?|stun):.+:(\d+)?.*', '\\2') | int < 65535 %}
|
|
port = {{ stun | regex_replace('(turns?|stun):.+:(\d+)?.*', '\\2') }},
|
|
{% endif %}
|
|
{% if stun | urlsplit('query') is search('transport=') %}
|
|
transport = "{{ stun | urlsplit('query') | regex_replace('.*transport=(udp|tcp).*', '\\1') }}",
|
|
{% endif %}
|
|
secret = {{ jitsi_turn_secret is defined | ternary('true', 'false') }},
|
|
{% if stun | urlsplit('scheme') == 'turn' or stun | urlsplit('scheme') == 'turns' %}
|
|
algorithm = "turn",
|
|
{% endif %}
|
|
ttl = 86400
|
|
},
|
|
{% endfor %}
|
|
};
|
|
|
|
-- cross_domain_bosh = false;
|
|
cross_domain_websocket = true;
|
|
consider_bosh_secure = true;
|
|
|
|
unlimited_jids = {
|
|
"{{ jitsi_jicofo_xmpp_user }}@{{ jitsi_auth_domain }}",
|
|
"{{ jitsi_videobridge_xmpp_user }}@{{ jitsi_videobridge_xmpp_domain }}"
|
|
}
|
|
|
|
VirtualHost "{{ jitsi_domain }}"
|
|
{% if jitsi_auth == 'ldap' %}
|
|
authentication = "ldap"
|
|
ldap_base = "{{ jitsi_ldap_base }}"
|
|
ldap_server = "{{ jitsi_ldap_servers | join(' ') }}"
|
|
{% if jitsi_ldap_bind_dn is defined and jitsi_ldap_bind_pass is defined %}
|
|
ldap_rootdn = "{{ jitsi_ldap_bind_dn }}"
|
|
ldap_password = "{{ jitsi_ldap_bind_pass }}"
|
|
{% endif %}
|
|
ldap_filter = "{{ jitsi_ldap_filter }}"
|
|
ldap_scope = "subtree"
|
|
ldap_tls = {{ jitsi_ldap_starttls | ternary('true','false') }}
|
|
{% elif jitsi_auth == 'token' %}
|
|
authentication = "token"
|
|
app_id = "{{ jitsi_token_app_id }}";
|
|
asap_accepted_issuers = "{{ jitsi_token_iss }}";
|
|
asap_accepted_audiences = "{{ jitsi_token_aud }}";
|
|
{% if jitsi_token_app_secret is defined %}
|
|
app_secret = "{{ jitsi_token_app_secret }}";
|
|
{% elif jitsi_token_asap_key_server is defined %}
|
|
asap_key_server = "{{ jitsi_token_asap_key_server }}";
|
|
{% endif %}
|
|
allow_empty_token = false;
|
|
{% else %}
|
|
authentication = "jitsi-anonymous"
|
|
{% endif %}
|
|
ssl = {
|
|
key = "{{ jitsi_key_path }}";
|
|
certificate = "{{ jitsi_cert_path }}";
|
|
}
|
|
|
|
c2s_require_encryption = false
|
|
allow_unencrypted_plain_auth = true
|
|
av_moderation_component = "avmoderation.{{ jitsi_domain }}"
|
|
speakerstats_component = "speakerstats.{{ jitsi_domain }}"
|
|
end_conference_component = "endconference.{{ jitsi_domain }}"
|
|
|
|
modules_enabled = {
|
|
"bosh";
|
|
"pubsub";
|
|
"websocket";
|
|
"ping";
|
|
"speakerstats";
|
|
"external_services";
|
|
"conference_duration";
|
|
"end_conference";
|
|
"muc_lobby_rooms";
|
|
"muc_breakout_rooms";
|
|
"av_moderation";
|
|
"room_metadata";
|
|
"participant_metadata";
|
|
"presence_identity";
|
|
}
|
|
|
|
conference_duration_component = "conferenceduration.{{ jitsi_domain }}"
|
|
lobby_muc = "lobby.{{ jitsi_domain }}"
|
|
breakout_rooms_muc = "breakout.{{ jitsi_domain }}"
|
|
room_metadata_component = "metadata.{{ jitsi_domain }}"
|
|
main_muc = "conference.{{ jitsi_domain }}"
|
|
muc_lobby_whitelist = { "recorder.{{ jitsi_domain }}" }
|
|
|
|
{% if jitsi_auth == 'ldap' or jitsi_auth == 'token' %}
|
|
-- Guest virtual domain
|
|
VirtualHost "guest.{{ jitsi_domain }}"
|
|
authentication = "jitsi-anonymous"
|
|
c2s_require_encryption = false
|
|
modules_enabled = {
|
|
"participant_metadata";
|
|
}
|
|
{% endif %}
|
|
|
|
VirtualHost "{{ jitsi_auth_domain }}"
|
|
ssl = {
|
|
key = "{{ jitsi_key_path }}";
|
|
certificate = "{{ jitsi_cert_path }}";
|
|
}
|
|
modules_enabled = {
|
|
"limits_exception";
|
|
}
|
|
authentication = "internal_hashed"
|
|
|
|
VirtualHost "recorder.{{ jitsi_domain }}"
|
|
modules_enabled = { "ping"; }
|
|
authentication = "internal_hashed"
|
|
c2s_require_encryption = false
|
|
|
|
Component "conference.{{ jitsi_domain }}" "muc"
|
|
restrict_room_creation = true
|
|
storage = "memory"
|
|
modules_enabled = {
|
|
"ping";
|
|
"jibri_bypass_pwd";
|
|
"muc_hide_all";
|
|
"muc_meeting_id";
|
|
"muc_domain_mapper";
|
|
"polls";
|
|
"muc_rate_limit";
|
|
}
|
|
admins = { "{{ jitsi_jicofo_xmpp_user }}@{{ jitsi_auth_domain }}" }
|
|
muc_room_locking = false
|
|
muc_room_default_public_jids = true
|
|
muc_password_whitelist = {
|
|
"{{ jitsi_jicofo_xmpp_user }}@{{ jitsi_auth_domain }}"
|
|
}
|
|
|
|
Component "internal.{{ jitsi_auth_domain }}" "muc"
|
|
storage = "memory"
|
|
modules_enabled = {
|
|
"muc_hide_all";
|
|
"ping";
|
|
}
|
|
admins = { "{{ jitsi_jicofo_xmpp_user }}@{{ jitsi_auth_domain }}" }
|
|
muc_room_locking = false
|
|
muc_room_default_public_jids = true
|
|
|
|
Component "focus.{{ jitsi_domain }}" "client_proxy"
|
|
target_address = "{{ jitsi_jicofo_xmpp_user }}@{{ jitsi_auth_domain }}"
|
|
|
|
Component "speakerstats.{{ jitsi_domain }}" "speakerstats_component"
|
|
muc_component = "conference.{{ jitsi_domain }}"
|
|
|
|
Component "conferenceduration.{{ jitsi_domain }}" "conference_duration_component"
|
|
muc_component = "conference.{{ jitsi_domain }}"
|
|
|
|
Component "endconference.{{ jitsi_domain }}" "end_conference"
|
|
muc_component = "conference.{{ jitsi_domain }}"
|
|
|
|
Component "avmoderation.{{ jitsi_domain }}" "av_moderation_component"
|
|
muc_component = "conference.{{ jitsi_domain }}"
|
|
|
|
Component "lobby.{{ jitsi_domain }}" "muc"
|
|
storage = "memory"
|
|
restrict_room_creation = true
|
|
muc_room_locking = false
|
|
muc_room_default_public_jids = true
|
|
modules_enabled = {
|
|
"muc_hide_all";
|
|
"muc_rate_limit";
|
|
"polls";
|
|
}
|
|
|
|
Component "metadata.{{ jitsi_domain }}" "room_metadata_component"
|
|
muc_component = "conference.{{ jitsi_domain }}"
|
|
breakout_rooms_component = "breakout.{{ jitsi_domain }}"
|
|
|
|
Component "breakout.{{ jitsi_domain }}" "muc"
|
|
restrict_room_creation = true
|
|
storage = "memory"
|
|
modules_enabled = {
|
|
"muc_hide_all";
|
|
"muc_meeting_id";
|
|
"muc_domain_mapper";
|
|
"muc_rate_limit";
|
|
"polls";
|
|
}
|
|
admins = { "{{ jitsi_jicofo_xmpp_user }}@{{ jitsi_auth_domain }}" }
|
|
muc_room_locking = false
|
|
muc_room_default_public_jids = true
|