10-config 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #!/usr/bin/with-contenv bash
  2. if [[ ! -f /etc/saslauthd.conf ]]; 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. mkdir /config/certs
  22. cp -r /defaults/* /config
  23. tpl /defaults/prosody.cfg.lua > $PROSODY_CFG
  24. tpl /defaults/conf.d/jitsi-meet.cfg.lua > /config/conf.d/jitsi-meet.cfg.lua
  25. if [[ -z $JICOFO_AUTH_PASSWORD ]]; then
  26. echo 'FATAL ERROR: Jicofo auth password must be set'
  27. exit 1
  28. fi
  29. # Defaults
  30. [ -z "${JIBRI_RECORDER_USER}" ] && export JIBRI_RECORDER_USER=recorder
  31. [ -z "${JIBRI_XMPP_USER}" ] && export JIBRI_XMPP_USER=jibri
  32. [ -z "${JICOFO_AUTH_USER}" ] && export JICOFO_AUTH_USER=focus
  33. [ -z "${JIGASI_XMPP_USER}" ] && export JIGASI_XMPP_USER=jigasi
  34. [ -z "${JVB_AUTH_USER}" ] && export JVB_AUTH_USER=jvb
  35. [ -z "${XMPP_DOMAIN}" ] && export XMPP_DOMAIN=meet.jitsi
  36. [ -z "${XMPP_AUTH_DOMAIN}" ] && export XMPP_AUTH_DOMAIN=auth.meet.jitsi
  37. [ -z "${XMPP_RECORDER_DOMAIN}" ] && export XMPP_RECORDER_DOMAIN=recorder.meet.jitsi
  38. prosodyctl --config $PROSODY_CFG register $JICOFO_AUTH_USER $XMPP_AUTH_DOMAIN $JICOFO_AUTH_PASSWORD
  39. prosodyctl --config $PROSODY_CFG mod_roster_command subscribe focus.$XMPP_DOMAIN $JICOFO_AUTH_USER@$XMPP_AUTH_DOMAIN
  40. if [[ -z $JVB_AUTH_PASSWORD ]]; then
  41. echo 'FATAL ERROR: JVB auth password must be set'
  42. exit 1
  43. fi
  44. OLD_JVB_AUTH_PASSWORD=passw0rd
  45. if [[ "$JVB_AUTH_PASSWORD" == "$OLD_JVB_AUTH_PASSWORD" ]]; then
  46. echo 'FATAL ERROR: JVB auth password must be changed, check the README'
  47. exit 1
  48. fi
  49. prosodyctl --config $PROSODY_CFG register $JVB_AUTH_USER $XMPP_AUTH_DOMAIN $JVB_AUTH_PASSWORD
  50. if [[ ! -z $JIBRI_XMPP_PASSWORD ]]; then
  51. OLD_JIBRI_XMPP_PASSWORD=passw0rd
  52. if [[ "$JIBRI_XMPP_PASSWORD" == "$OLD_JIBRI_XMPP_PASSWORD" ]]; then
  53. echo 'FATAL ERROR: Jibri auth password must be changed, check the README'
  54. exit 1
  55. fi
  56. prosodyctl --config $PROSODY_CFG register $JIBRI_XMPP_USER $XMPP_AUTH_DOMAIN $JIBRI_XMPP_PASSWORD
  57. fi
  58. if [[ ! -z $JIBRI_RECORDER_PASSWORD ]]; then
  59. OLD_JIBRI_RECORDER_PASSWORD=passw0rd
  60. if [[ "$JIBRI_RECORDER_PASSWORD" == "$OLD_JIBRI_RECORDER_PASSWORD" ]]; then
  61. echo 'FATAL ERROR: Jibri recorder password must be changed, check the README'
  62. exit 1
  63. fi
  64. prosodyctl --config $PROSODY_CFG register $JIBRI_RECORDER_USER $XMPP_RECORDER_DOMAIN $JIBRI_RECORDER_PASSWORD
  65. fi
  66. if [[ ! -z $JIGASI_XMPP_PASSWORD ]]; then
  67. OLD_JIGASI_XMPP_PASSWORD=passw0rd
  68. if [[ "$JIGASI_XMPP_PASSWORD" == "$OLD_JIGASI_XMPP_PASSWORD" ]]; then
  69. echo 'FATAL ERROR: Jigasi auth password must be changed, check the README'
  70. exit 1
  71. fi
  72. prosodyctl --config $PROSODY_CFG register $JIGASI_XMPP_USER $XMPP_AUTH_DOMAIN $JIGASI_XMPP_PASSWORD
  73. fi
  74. if [[ ! -f /config/certs/$XMPP_DOMAIN.crt ]]; then
  75. # echo for using all default values
  76. echo | prosodyctl --config $PROSODY_CFG cert generate $XMPP_DOMAIN
  77. fi
  78. if [[ ! -f /config/certs/$XMPP_AUTH_DOMAIN.crt ]]; then
  79. # echo for using all default values
  80. echo | prosodyctl --config $PROSODY_CFG cert generate $XMPP_AUTH_DOMAIN
  81. fi
  82. # certs will be created in /config/data
  83. mv /config/data/*.{crt,key} /config/certs/ || true
  84. rm -f /config/data/*.cnf