10-config 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #!/usr/bin/with-contenv bash
  2. if [[ ! -f /etc/saslauthd.conf ]] && [[ "$AUTH_TYPE" == "ldap" ]]; then
  3. tpl /defaults/saslauthd.conf > /etc/saslauthd.conf
  4. mkdir -pm777 /var/run/saslauthd
  5. adduser prosody sasl
  6. echo >> /etc/ldap/ldap.conf "TLS_REQCERT allow"
  7. fi
  8. PROSODY_CFG="/config/prosody.cfg.lua"
  9. if [[ ! -d /config/data ]]; then
  10. mkdir -pm 750 /config/data
  11. fi
  12. if [[ "$(stat -c %U /config)" != "prosody" ]]; then
  13. chown -R prosody /config
  14. fi
  15. if [[ "$(stat -c %U /prosody-plugins)" != "prosody" ]]; then
  16. chown -R prosody /prosody-plugins
  17. fi
  18. if [[ "$(stat -c %U /prosody-plugins-custom)" != "prosody" ]]; then
  19. chown -R prosody /prosody-plugins-custom
  20. fi
  21. if [[ "$(stat -c %U /prosody-plugins-contrib)" != "prosody" ]]; then
  22. chown -R prosody /prosody-plugins-contrib
  23. fi
  24. mkdir /config/certs
  25. cp -r /defaults/* /config
  26. [ -z "$PROSODY_MODE" ] && export PROSODY_MODE="client"
  27. if [[ "$PROSODY_MODE" == "visitors" ]]; then
  28. echo "Prosody visitor mode, using alternate config"
  29. PROSODY_SITE_CFG="visitors.cfg.lua"
  30. rm /config/conf.d/jitsi-meet.cfg.lua
  31. rm /config/conf.d/brewery.cfg.lua
  32. # force jicofo into auth domain for visitor-mode prosody
  33. [ -z "$XMPP_AUTH_DOMAIN" ] && XMPP_AUTH_DOMAIN="auth.meet.jitsi"
  34. export PROSODY_ADMINS="focus@$XMPP_AUTH_DOMAIN"
  35. elif [[ "$PROSODY_MODE" == "brewery" ]]; then
  36. echo "Prosody brewery mode, using alternate config"
  37. PROSODY_SITE_CFG="brewery.cfg.lua"
  38. rm /config/conf.d/jitsi-meet.cfg.lua
  39. rm /config/conf.d/visitors.cfg.lua
  40. # force jicofo into auth domain for brewer prosody
  41. [ -z "$JVB_XMPP_AUTH_DOMAIN" ] && JVB_XMPP_AUTH_DOMAIN="auth.meet.jitsi"
  42. # ensure proper certs are generated
  43. export XMPP_AUTH_DOMAIN="$JVB_XMPP_AUTH_DOMAIN"
  44. # brewery mode requires C2S encryption
  45. export PROSODY_C2S_REQUIRE_ENCRYPTION="true"
  46. mkdir -p /config/rules.d
  47. tpl /defaults/rules.d/jvb_muc_presence_filter.pfw > /config/rules.d/jvb_muc_presence_filter.pfw
  48. else
  49. echo "Prosody normal mode, using default config"
  50. PROSODY_SITE_CFG="jitsi-meet.cfg.lua"
  51. rm /config/conf.d/visitors.cfg.lua
  52. rm /config/conf.d/brewery.cfg.lua
  53. fi
  54. tpl /defaults/prosody.cfg.lua > $PROSODY_CFG
  55. tpl /defaults/conf.d/$PROSODY_SITE_CFG > /config/conf.d/$PROSODY_SITE_CFG
  56. # Defaults
  57. [ -z "${JIBRI_RECORDER_USER}" ] && export JIBRI_RECORDER_USER=recorder
  58. [ -z "${JIBRI_XMPP_USER}" ] && export JIBRI_XMPP_USER=jibri
  59. [ -z "${XMPP_DOMAIN}" ] && export XMPP_DOMAIN=meet.jitsi
  60. [ -z "${XMPP_AUTH_DOMAIN}" ] && export XMPP_AUTH_DOMAIN=auth.meet.jitsi
  61. if [[ "$PROSODY_MODE" == "visitors" ]]; then
  62. [ -z "$VISITORS_XMPP_DOMAIN" ] && VISITORS_XMPP_DOMAIN="meet.jitsi"
  63. [ -z "$PROSODY_VISITOR_INDEX" ] && PROSODY_VISITOR_INDEX=0
  64. FULL_VISITORS_XMPP_DOMAIN="v$PROSODY_VISITOR_INDEX.$VISITORS_XMPP_DOMAIN"
  65. if [[ ! -f /config/certs/$FULL_VISITORS_XMPP_DOMAIN.crt ]]; then
  66. # echo for using all default values
  67. echo | prosodyctl --config $PROSODY_CFG cert generate $FULL_VISITORS_XMPP_DOMAIN
  68. fi
  69. elif [[ "$PROSODY_MODE" == "brewery" ]]; then
  70. echo "No need to generate certs for main XMPP domain in brewery mode"
  71. else
  72. if [[ ! -f /config/certs/$XMPP_DOMAIN.crt ]]; then
  73. # echo for using all default values
  74. echo | prosodyctl --config $PROSODY_CFG cert generate $XMPP_DOMAIN
  75. fi
  76. fi
  77. if [[ ! -f /config/certs/$XMPP_AUTH_DOMAIN.crt ]]; then
  78. # echo for using all default values
  79. echo | prosodyctl --config $PROSODY_CFG cert generate $XMPP_AUTH_DOMAIN
  80. fi
  81. # certs will be created in /config/data
  82. mv /config/data/*.{crt,key} /config/certs/ || true
  83. rm -f /config/data/*.cnf