jicofo.conf 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. {{ $ENABLE_AUTH := .Env.ENABLE_AUTH | default "0" | toBool }}
  2. {{ $AUTH_TYPE := .Env.AUTH_TYPE | default "internal" }}
  3. {{ $ENABLE_RECORDING := .Env.ENABLE_RECORDING | default "0" | toBool }}
  4. jicofo {
  5. {{ if $ENABLE_AUTH }}
  6. authentication {
  7. enabled = true
  8. // The type of authentication. Supported values are XMPP, JWT or SHIBBOLETH (default).
  9. {{ if eq $AUTH_TYPE "jwt" }}
  10. type = JWT
  11. {{ else if eq $AUTH_TYPE "shibboleth" }}
  12. type = SHIBBOLETH
  13. {{ else }}
  14. type = XMPP
  15. {{ end }}
  16. {{ if eq $AUTH_TYPE "shibboleth" }}
  17. login-url = "shibboleth:default"
  18. logout-url = "shibboleth:default"
  19. {{ else }}
  20. login-url = "{{ .Env.XMPP_DOMAIN }}"
  21. {{ end }}
  22. }
  23. {{ end }}
  24. // Configuration related to jitsi-videobridge
  25. bridge {
  26. {{ if .Env.MAX_BRIDGE_PARTICIPANTS }}
  27. max-bridge-participants = "{{ .Env.MAX_BRIDGE_PARTICIPANTS }}"
  28. {{ end }}
  29. {{ if .Env.BRIDGE_AVG_PARTICIPANT_STRESS }}
  30. // The assumed average stress per participant. default is 0.01
  31. average-participant-stress = "{{ .Env.BRIDGE_AVG_PARTICIPANT_STRESS }}"
  32. {{ end }}
  33. {{ if .Env.BRIDGE_STRESS_THRESHOLD }}
  34. // The stress level above which a bridge is considered overstressed. 0.8 is the default value
  35. stress-threshold = "{{ .Env.BRIDGE_STRESS_THRESHOLD }}"
  36. {{ end }}
  37. {{ if .Env.OCTO_BRIDGE_SELECTION_STRATEGY }}
  38. selection-strategy = "{{ .Env.OCTO_BRIDGE_SELECTION_STRATEGY }}"
  39. {{ end }}
  40. {{ if .Env.JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS }}
  41. health-checks {
  42. enabled = "{{ .Env.JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS }}"
  43. }
  44. {{ end }}
  45. brewery-jid = "{{ .Env.JVB_BREWERY_MUC }}@{{ .Env.XMPP_INTERNAL_MUC_DOMAIN }}"
  46. }
  47. // Configure the codecs and RTP extensions to be used in the offer sent to clients.
  48. codec {
  49. video {
  50. {{ if .Env.ENABLE_CODEC_VP8 }}
  51. vp8 {
  52. enabled = "{{ .Env.ENABLE_CODEC_VP8 }}"
  53. }
  54. {{ end }}
  55. {{ if .Env.ENABLE_CODEC_VP9 }}
  56. vp9 {
  57. enabled = "{{ .Env.ENABLE_CODEC_VP9 }}"
  58. }
  59. {{ end }}
  60. {{ if .Env.ENABLE_CODEC_H264 }}
  61. h264 {
  62. enabled = "{{ .Env.ENABLE_CODEC_H264 }}"
  63. }
  64. {{ end }}
  65. }
  66. }
  67. conference {
  68. {{ if .Env.ENABLE_AUTO_OWNER }}
  69. enable-auto-owner = "{{ .Env.ENABLE_AUTO_OWNER }}"
  70. {{ end }}
  71. {{ if .Env.JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT }}
  72. initial-timeout = "{{ .Env.JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT }}"
  73. {{ end }}
  74. {{ if .Env.JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT }}
  75. single-participant-timeout = "{{ .Env.JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT }}"
  76. {{ end }}
  77. }
  78. {{ if .Env.JICOFO_ENABLE_HEALTH_CHECKS }}
  79. // Configuration for the internal health checks performed by jicofo.
  80. health {
  81. // Whether to perform health checks.
  82. enabled = "{{ .Env.JICOFO_ENABLE_HEALTH_CHECKS }}"
  83. }
  84. {{ end }}
  85. {{ if $ENABLE_RECORDING }}
  86. jibri {
  87. brewery-jid = "{{ .Env.JIBRI_BREWERY_MUC}}@{{ .Env.XMPP_INTERNAL_MUC_DOMAIN }}"
  88. {{ if .Env.JIBRI_REQUEST_RETRIES }}
  89. num-retries = "{{ .Env.JIBRI_REQUEST_RETRIES }}"
  90. {{ end }}
  91. {{ if .Env.JIBRI_PENDING_TIMEOUT }}
  92. pending-timeout = "{{ .Env.JIBRI_PENDING_TIMEOUT }}"
  93. {{ end }}
  94. }
  95. {{ end }}
  96. {{ if and .Env.JIGASI_SIP_URI .Env.JIGASI_BREWERY_MUC }}
  97. jigasi {
  98. brewery-jid = "{{ .Env.JIGASI_BREWERY_MUC}}@{{ .Env.XMPP_INTERNAL_MUC_DOMAIN }}"
  99. }
  100. {{ end }}
  101. octo {
  102. id = "{{ .Env.JICOFO_SHORT_ID | default "1" }}"
  103. }
  104. {{ if .Env.ENABLE_SCTP }}
  105. sctp {
  106. enabled = "{{ .Env.ENABLE_SCTP }}"
  107. }
  108. {{ end }}
  109. xmpp {
  110. client {
  111. enabled = true
  112. hostname = "{{ .Env.XMPP_SERVER }}"
  113. domain = "{{ .Env.XMPP_AUTH_DOMAIN }}"
  114. username = "{{ .Env.JICOFO_AUTH_USER }}"
  115. password = "{{ .Env.JICOFO_AUTH_PASSWORD }}"
  116. conference-muc-jid = "{{ .Env.XMPP_MUC_DOMAIN }}"
  117. disable-certificate-verification = true
  118. }
  119. }
  120. {{ if .Env.JICOFO_RESERVATION_ENABLED | default "false" | toBool }}
  121. reservation {
  122. enabled = "{{ .Env.JICOFO_RESERVATION_ENABLED }}"
  123. base-url = "{{ .Env.JICOFO_RESERVATION_REST_BASE_URL }}"
  124. }
  125. {{ end }}
  126. }