jicofo.conf 4.3 KB

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