jitsi-meet.cfg.lua 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. admins = { "{{ .Env.JICOFO_AUTH_USER }}@{{ .Env.XMPP_AUTH_DOMAIN }}" }
  2. plugin_paths = { "/prosody-plugins/", "/prosody-plugins-custom" }
  3. http_default_host = "{{ .Env.XMPP_DOMAIN }}"
  4. {{ $ENABLE_AUTH := .Env.ENABLE_AUTH | default "0" | toBool }}
  5. {{ $AUTH_TYPE := .Env.AUTH_TYPE | default "internal" }}
  6. {{ $JWT_ASAP_KEYSERVER := .Env.JWT_ASAP_KEYSERVER | default "" }}
  7. {{ $JWT_ALL_EMPTY := .Env.JWT_ALLOW_EMPTY | default "0" | toBool }}
  8. {{ $JWT_AUTH_TYPE := .Env.JWT_AUTH_TYPE | default "token" }}
  9. {{ if and $ENABLE_AUTH (eq $AUTH_TYPE "jwt") .Env.JWT_ACCEPTED_ISSUERS }}
  10. asap_accepted_issuers = { "{{ join "\",\"" (splitList "," .Env.JWT_ACCEPTED_ISSUERS) }}" }
  11. {{ end }}
  12. {{ if and $ENABLE_AUTH (eq $AUTH_TYPE "jwt") .Env.JWT_ACCEPTED_AUDIENCES }}
  13. asap_accepted_audiences = { "{{ join "\",\"" (splitList "," .Env.JWT_ACCEPTED_AUDIENCES) }}" }
  14. {{ end }}
  15. VirtualHost "{{ .Env.XMPP_DOMAIN }}"
  16. {{ if $ENABLE_AUTH }}
  17. {{ if eq $AUTH_TYPE "jwt" }}
  18. authentication = "{{ $JWT_AUTH_TYPE }}"
  19. app_id = "{{ .Env.JWT_APP_ID }}"
  20. app_secret = "{{ .Env.JWT_APP_SECRET }}"
  21. allow_empty_token = {{ if $JWT_ALL_EMPTY }}true{{ else }}false{{ end }}
  22. {{ if $JWT_ASAP_KEYSERVER }}
  23. asap_key_server = "{{ .Env.JWT_ASAP_KEYSERVER }}"
  24. {{ end }}
  25. {{ else if eq $AUTH_TYPE "ldap" }}
  26. authentication = "cyrus"
  27. cyrus_application_name = "xmpp"
  28. allow_unencrypted_plain_auth = true
  29. {{ else if eq $AUTH_TYPE "internal" }}
  30. authentication = "internal_plain"
  31. {{ end }}
  32. {{ else }}
  33. authentication = "anonymous"
  34. {{ end }}
  35. ssl = {
  36. key = "/config/certs/{{ .Env.XMPP_DOMAIN }}.key";
  37. certificate = "/config/certs/{{ .Env.XMPP_DOMAIN }}.crt";
  38. }
  39. modules_enabled = {
  40. "bosh";
  41. "pubsub";
  42. "ping";
  43. {{ if .Env.XMPP_MODULES }}
  44. "{{ join "\";\n\"" (splitList "," .Env.XMPP_MODULES) }}";
  45. {{ end }}
  46. {{ if and $ENABLE_AUTH (eq $AUTH_TYPE "ldap") }}
  47. "auth_cyrus";
  48. {{end}}
  49. }
  50. c2s_require_encryption = false
  51. {{ if and $ENABLE_AUTH (.Env.ENABLE_GUESTS | default "0" | toBool) }}
  52. VirtualHost "{{ .Env.XMPP_GUEST_DOMAIN }}"
  53. authentication = "anonymous"
  54. c2s_require_encryption = false
  55. {{ end }}
  56. VirtualHost "{{ .Env.XMPP_AUTH_DOMAIN }}"
  57. ssl = {
  58. key = "/config/certs/{{ .Env.XMPP_AUTH_DOMAIN }}.key";
  59. certificate = "/config/certs/{{ .Env.XMPP_AUTH_DOMAIN }}.crt";
  60. }
  61. authentication = "internal_plain"
  62. Component "{{ .Env.XMPP_INTERNAL_MUC_DOMAIN }}" "muc"
  63. modules_enabled = {
  64. "ping";
  65. {{ if .Env.XMPP_INTERNAL_MUC_MODULES }}
  66. "{{ join "\";\n\"" (splitList "," .Env.XMPP_INTERNAL_MUC_MODULES) }}";
  67. {{ end }}
  68. }
  69. storage = "memory"
  70. muc_room_cache_size = 1000
  71. Component "{{ .Env.XMPP_MUC_DOMAIN }}" "muc"
  72. storage = "memory"
  73. modules_enabled = {
  74. {{ if .Env.XMPP_MUC_MODULES }}
  75. "{{ join "\";\n\"" (splitList "," .Env.XMPP_MUC_MODULES) }}";
  76. {{ end }}
  77. {{ if .Env.JWT_ENABLE_TOKEN_AUTH | default "0" | toBool }}
  78. "token_verification";
  79. {{ end }}
  80. }
  81. Component "focus.{{ .Env.XMPP_DOMAIN }}"
  82. component_secret = "{{ .Env.JICOFO_COMPONENT_SECRET }}"