10-config 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/usr/bin/with-contenv bash
  2. # make our folders
  3. mkdir -p \
  4. /config/{nginx/site-confs,keys} \
  5. /run \
  6. /var/lib/nginx/tmp/client_body \
  7. /var/tmp/nginx
  8. # generate keys (maybe)
  9. if [[ -f /config/keys/cert.key && -f /config/keys/cert.crt ]]; then
  10. echo "using keys found in /config/keys"
  11. else
  12. echo "generating self-signed keys in /config/keys, you can replace these with your own keys if required"
  13. SUBJECT="/C=US/ST=TX/L=Austin/O=jitsi.org/OU=Jitsi Server/CN=*"
  14. openssl req -new -x509 -days 3650 -nodes -out /config/keys/cert.crt -keyout /config/keys/cert.key -subj "$SUBJECT"
  15. fi
  16. # copy config files
  17. if [[ ! -f /config/nginx/nginx.conf ]]; then
  18. cp /defaults/nginx.conf /config/nginx/nginx.conf
  19. fi
  20. if [[ ! -f /config/nginx/ssl.conf ]]; then
  21. cp /defaults/ssl.conf /config/nginx/ssl.conf
  22. fi
  23. if [ ! -f "/config/nginx/dhparams.pem" ]; then
  24. openssl dhparam -out /config/nginx/dhparams.pem 2048
  25. fi
  26. if [[ ! -f /config/nginx/site-confs/default ]]; then
  27. tpl /defaults/default > /config/nginx/site-confs/default
  28. fi
  29. if [[ ! -f /config/config.js ]]; then
  30. cp /defaults/config.js /config/config.js
  31. sed -i \
  32. -e "s#jitsi-meet.example.com#$XMPP_DOMAIN#g" \
  33. -e "s#bosh:.*#bosh: '/http-bind',#" \
  34. -e "s#muc:.*#muc: '${XMPP_MUC_DOMAIN}',#" \
  35. -e "s#// focusUserJid:.*#focusUserJid: '${JICOFO_AUTH_USER}@${XMPP_AUTH_DOMAIN}',#" \
  36. /config/config.js
  37. if [[ $ENABLE_AUTH -eq 1 ]]; then
  38. if [[ $ENABLE_GUESTS -eq 1 ]]; then
  39. sed -i \
  40. -e "s#// anonymousdomain:.*#anonymousdomain: '${XMPP_GUEST_DOMAIN}',#" \
  41. /config/config.js
  42. fi
  43. sed -i \
  44. -e "s#// authdomain:.*#authdomain: '${XMPP_DOMAIN}',#" \
  45. /config/config.js
  46. fi
  47. fi
  48. if [[ ! -f /config/interface_config.js ]]; then
  49. cp /defaults/interface_config.js /config/interface_config.js
  50. fi