run 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #!/command/execlineb -S0
  2. PROSODY_CFG="/config/prosody.cfg.lua"
  3. [ -z "$PROSODY_MODE" ] && export PROSODY_MODE="client"
  4. # Defaults
  5. [ -z "${JIBRI_RECORDER_USER}" ] && export JIBRI_RECORDER_USER=recorder
  6. [ -z "${XMPP_DOMAIN}" ] && export XMPP_DOMAIN=meet.jitsi
  7. [ -z "${XMPP_AUTH_DOMAIN}" ] && export XMPP_AUTH_DOMAIN=auth.meet.jitsi
  8. [ -z "${JVB_AUTH_USER}" ] && export JVB_AUTH_USER=jvb
  9. # maintain backward compatibility with older variable
  10. [ -z "${XMPP_HIDDEN_DOMAIN}" ] && export XMPP_HIDDEN_DOMAIN="$XMPP_RECORDER_DOMAIN"
  11. [ -z "${XMPP_HIDDEN_DOMAIN}" ] && export XMPP_HIDDEN_DOMAIN=hidden.meet.jitsi
  12. [ -z "${JIGASI_XMPP_USER}" ] && export JIGASI_XMPP_USER=jigasi
  13. if [[ -z $JVB_AUTH_PASSWORD ]]; then
  14. echo 'FATAL ERROR: JVB auth password must be set'
  15. exit 1
  16. fi
  17. OLD_JVB_AUTH_PASSWORD=passw0rd
  18. if [[ "$JVB_AUTH_PASSWORD" == "$OLD_JVB_AUTH_PASSWORD" ]]; then
  19. echo 'FATAL ERROR: JVB auth password must be changed, check the README'
  20. exit 1
  21. fi
  22. if [[ "$PROSODY_MODE" == "visitors" ]]; then
  23. # echo "Prosody visitor mode, using alternate config"
  24. # PROSODY_SITE_CFG="visitors.cfg.lua"
  25. # force jicofo into auth domain for visitor-mode prosody
  26. [ -z "$XMPP_AUTH_DOMAIN" ] && XMPP_AUTH_DOMAIN="auth.meet.jitsi"
  27. # export PROSODY_ADMINS="focus@$XMPP_AUTH_DOMAIN"
  28. elif [[ "$PROSODY_MODE" == "brewery" ]]; then
  29. # echo "Prosody brewery mode, using alternate config"
  30. # PROSODY_SITE_CFG="brewery.cfg.lua"
  31. # rm /config/conf.d/jitsi-meet.cfg.lua
  32. # rm /config/conf.d/visitors.cfg.lua
  33. # # force jicofo into auth domain for brewer prosody
  34. # [ -z "$JVB_XMPP_AUTH_DOMAIN" ] && JVB_XMPP_AUTH_DOMAIN="auth.meet.jitsi"
  35. # # ensure proper certs are generated
  36. # export XMPP_AUTH_DOMAIN="$JVB_XMPP_AUTH_DOMAIN"
  37. # # brewery mode requires C2S encryption
  38. # export PROSODY_C2S_REQUIRE_ENCRYPTION="true"
  39. # mkdir -p /config/rules.d
  40. # tpl /defaults/rules.d/jvb_muc_presence_filter.pfw > /config/rules.d/jvb_muc_presence_filter.pfw
  41. else
  42. # echo "Prosody normal mode, using default config"
  43. # PROSODY_SITE_CFG="jitsi-meet.cfg.lua"
  44. # rm /config/conf.d/visitors.cfg.lua
  45. # rm /config/conf.d/brewery.cfg.lua
  46. fi
  47. if [[ -z $JICOFO_AUTH_PASSWORD ]]; then
  48. echo 'FATAL ERROR: Jicofo auth password must be set'
  49. exit 1
  50. fi
  51. prosodyctl --config $PROSODY_CFG shell "user:create('focus@$XMPP_AUTH_DOMAIN', '$JICOFO_AUTH_PASSWORD', 'prosody:admin')"
  52. # if we are in client mode, we need to subscribe the focus user to the focus component proxy
  53. if [[ "$PROSODY_MODE" == "client" ]]; then
  54. prosodyctl --config $PROSODY_CFG shell roster subscribe_both focus@$XMPP_AUTH_DOMAIN focus.$XMPP_DOMAIN
  55. fi
  56. prosodyctl --config $PROSODY_CFG shell "user:create('$JVB_AUTH_USER@$XMPP_AUTH_DOMAIN', '$JVB_AUTH_PASSWORD')"
  57. if [[ ! -z $JIBRI_XMPP_PASSWORD ]]; then
  58. OLD_JIBRI_XMPP_PASSWORD=passw0rd
  59. if [[ "$JIBRI_XMPP_PASSWORD" == "$OLD_JIBRI_XMPP_PASSWORD" ]]; then
  60. echo 'FATAL ERROR: Jibri auth password must be changed, check the README'
  61. exit 1
  62. fi
  63. prosodyctl --config $PROSODY_CFG shell "user:create('$JIBRI_XMPP_USER@$XMPP_AUTH_DOMAIN', '$JIBRI_XMPP_PASSWORD')"
  64. fi
  65. if [[ "$PROSODY_MODE" == "client" ]]; then
  66. if [[ ! -z $JIBRI_RECORDER_PASSWORD ]]; then
  67. OLD_JIBRI_RECORDER_PASSWORD=passw0rd
  68. if [[ "$JIBRI_RECORDER_PASSWORD" == "$OLD_JIBRI_RECORDER_PASSWORD" ]]; then
  69. echo 'FATAL ERROR: Jibri recorder password must be changed, check the README'
  70. exit 1
  71. fi
  72. prosodyctl --config $PROSODY_CFG shell "user:create('$JIBRI_RECORDER_USER@$XMPP_HIDDEN_DOMAIN', '$JIBRI_RECORDER_PASSWORD')"
  73. fi
  74. if [[ "$(echo "$ENABLE_TRANSCRIPTIONS" | tr '[:upper:]' '[:lower:]')" == "true" ]] || [[ "$ENABLE_TRANSCRIPTIONS" == "1" ]]; then
  75. if [[ ! -z $JIGASI_TRANSCRIBER_PASSWORD ]]; then
  76. [ -z "$JIGASI_TRANSCRIBER_USER" ] && JIGASI_TRANSCRIBER_USER="transcriber"
  77. prosodyctl --config $PROSODY_CFG shell "user:create('$JIGASI_TRANSCRIBER_USER@$XMPP_HIDDEN_DOMAIN', '$JIGASI_TRANSCRIBER_PASSWORD')"
  78. fi
  79. fi
  80. fi
  81. if [[ ! -z $JIGASI_XMPP_PASSWORD ]]; then
  82. OLD_JIGASI_XMPP_PASSWORD=passw0rd
  83. if [[ "$JIGASI_XMPP_PASSWORD" == "$OLD_JIGASI_XMPP_PASSWORD" ]]; then
  84. echo 'FATAL ERROR: Jigasi auth password must be changed, check the README'
  85. exit 1
  86. fi
  87. prosodyctl --config $PROSODY_CFG shell "user:create('$JIGASI_XMPP_USER@$XMPP_AUTH_DOMAIN', '$JIGASI_XMPP_PASSWORD')"
  88. fi