2
0

10-config 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 [[ $DISABLE_HTTPS -ne 1 ]]; then
  10. if [[ $ENABLE_LETSENCRYPT -eq 1 ]]; then
  11. if [[ ! -f /etc/letsencrypt/live/$LETSENCRYPT_DOMAIN/fullchain.pem ]]; then
  12. certbot certonly \
  13. --noninteractive \
  14. --standalone \
  15. --preferred-challenges http \
  16. -d $LETSENCRYPT_DOMAIN \
  17. --agree-tos \
  18. --email $LETSENCRYPT_EMAIL
  19. cp /defaults/letsencrypt-renew /etc/cron.monthly/
  20. fi
  21. else
  22. # use self-signed certs
  23. if [[ -f /config/keys/cert.key && -f /config/keys/cert.crt ]]; then
  24. echo "using keys found in /config/keys"
  25. else
  26. echo "generating self-signed keys in /config/keys, you can replace these with your own keys if required"
  27. SUBJECT="/C=US/ST=TX/L=Austin/O=jitsi.org/OU=Jitsi Server/CN=*"
  28. openssl req -new -x509 -days 3650 -nodes -out /config/keys/cert.crt -keyout /config/keys/cert.key -subj "$SUBJECT"
  29. fi
  30. fi
  31. if [[ ! -f /config/nginx/dhparams.pem ]]; then
  32. openssl dhparam -out /config/nginx/dhparams.pem 2048
  33. fi
  34. fi
  35. # copy config files
  36. if [[ ! -f /config/nginx/nginx.conf ]]; then
  37. cp /defaults/nginx.conf /config/nginx/nginx.conf
  38. fi
  39. if [[ ! -f /config/nginx/meet.conf ]]; then
  40. tpl /defaults/meet.conf > /config/nginx/meet.conf
  41. fi
  42. if [[ ! -f /config/nginx/ssl.conf ]]; then
  43. tpl /defaults/ssl.conf > /config/nginx/ssl.conf
  44. fi
  45. if [[ ! -f /config/nginx/site-confs/default ]]; then
  46. tpl /defaults/default > /config/nginx/site-confs/default
  47. fi
  48. if [[ ! -f /config/config.js ]]; then
  49. cp /defaults/config.js /config/config.js
  50. sed -i \
  51. -e "s#jitsi-meet.example.com#$XMPP_DOMAIN#g" \
  52. -e "s#bosh:.*#bosh: '/http-bind',#" \
  53. -e "s#muc:.*#muc: '${XMPP_MUC_DOMAIN}',#" \
  54. -e "s#// focusUserJid:.*#focusUserJid: '${JICOFO_AUTH_USER}@${XMPP_AUTH_DOMAIN}',#" \
  55. /config/config.js
  56. if [[ $ENABLE_AUTH -eq 1 ]]; then
  57. if [[ $ENABLE_GUESTS -eq 1 ]]; then
  58. sed -i \
  59. -e "s#// anonymousdomain:.*#anonymousdomain: '${XMPP_GUEST_DOMAIN}',#" \
  60. /config/config.js
  61. fi
  62. sed -i \
  63. -e "s#// authdomain:.*#authdomain: '${XMPP_DOMAIN}',#" \
  64. /config/config.js
  65. fi
  66. fi
  67. if [[ ! -f /config/interface_config.js ]]; then
  68. cp /defaults/interface_config.js /config/interface_config.js
  69. fi