You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

jitsi-meet.postinst 3.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #!/bin/sh
  2. # postinst script for jitsi-meet
  3. #
  4. # see: dh_installdeb(1)
  5. set -e
  6. # summary of how this script can be called:
  7. # * <postinst> `configure' <most-recently-configured-version>
  8. # * <old-postinst> `abort-upgrade' <new version>
  9. # * <conflictor's-postinst> `abort-remove' `in-favour' <package>
  10. # <new-version>
  11. # * <postinst> `abort-remove'
  12. # * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
  13. # <failed-install-package> <version> `removing'
  14. # <conflicting-package> <version>
  15. # for details, see http://www.debian.org/doc/debian-policy/ or
  16. # the debian-policy package
  17. case "$1" in
  18. configure)
  19. . /etc/default/jitsi-videobridge
  20. # nginx conf
  21. if [ ! -f /etc/nginx/sites-available/$JVB_HOSTNAME.conf ]; then
  22. cp /usr/share/doc/jitsi-meet/jitsi-meet.example /etc/nginx/sites-available/$JVB_HOSTNAME.conf
  23. if [ ! -f /etc/nginx/sites-enabled/$JVB_HOSTNAME.conf ]; then
  24. ln -s /etc/nginx/sites-available/$JVB_HOSTNAME.conf /etc/nginx/sites-enabled/$JVB_HOSTNAME.conf
  25. fi
  26. sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" /etc/nginx/sites-available/$JVB_HOSTNAME.conf
  27. fi
  28. if grep "# server_names_hash_bucket_size 64" /etc/nginx/nginx.conf > /dev/null; then
  29. sed -i "s/#\ server_names_hash_bucket_size\ 64/\ server_names_hash_bucket_size\ 64/" /etc/nginx/nginx.conf
  30. fi
  31. if [ ! -f /etc/ssl/$JVB_HOSTNAME.key ] || [ ! -f /etc/ssl/$JVB_HOSTNAME.crt ]; then
  32. # loading debconf
  33. . /usr/share/debconf/confmodule
  34. # SSL for nginx
  35. db_get jitsi-meet/cert-choice
  36. CERT_CHOICE="$RET"
  37. if [ "$CERT_CHOICE" = 'A certificate is available and the files are uploaded on the server' ]; then
  38. db_set jitsi-meet/cert-path-key "/etc/ssl/$JVB_HOSTNAME.key"
  39. db_input critical jitsi-meet/cert-path-key || true
  40. db_go
  41. db_get jitsi-meet/cert-path-key
  42. CERT_KEY="$RET"
  43. db_set jitsi-meet/cert-path-crt "/etc/ssl/$JVB_HOSTNAME.crt"
  44. db_input critical jitsi-meet/cert-path-crt || true
  45. db_go
  46. db_get jitsi-meet/cert-path-crt
  47. CERT_CRT="$RET"
  48. # replace self-signed certificate paths with user provided ones
  49. CERT_KEY_ESC=$(echo $CERT_KEY | sed 's/\./\\\./g')
  50. CERT_KEY_ESC=$(echo $CERT_KEY_ESC | sed 's/\//\\\//g')
  51. sed -i "s/ssl_certificate_key\ \/var\/lib\/prosody\/.*key/ssl_certificate_key\ $CERT_KEY_ESC/g" \
  52. /etc/nginx/sites-available/$JVB_HOSTNAME.conf
  53. CERT_CRT_ESC=$(echo $CERT_CRT | sed 's/\./\\\./g')
  54. CERT_CRT_ESC=$(echo $CERT_CRT_ESC | sed 's/\//\\\//g')
  55. sed -i "s/ssl_certificate\ \/var\/lib\/prosody\/.*crt/ssl_certificate\ $CERT_CRT_ESC/g" \
  56. /etc/nginx/sites-available/$JVB_HOSTNAME.conf
  57. fi
  58. # and we're done with debconf
  59. db_stop
  60. fi
  61. # jitsi meet
  62. JITSI_MEET_CONFIG="/etc/jitsi/meet/$JVB_HOSTNAME-config.js"
  63. if [ ! -f $JITSI_MEET_CONFIG ]; then
  64. mkdir -p /etc/jitsi/meet/
  65. cp /usr/share/doc/jitsi-meet/config.js $JITSI_MEET_CONFIG
  66. sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" $JITSI_MEET_CONFIG
  67. fi
  68. invoke-rc.d nginx reload
  69. ;;
  70. abort-upgrade|abort-remove|abort-deconfigure)
  71. ;;
  72. *)
  73. echo "postinst called with unknown argument \`$1'" >&2
  74. exit 1
  75. ;;
  76. esac
  77. # dh_installdeb will replace this with shell code automatically
  78. # generated by other debhelper scripts.
  79. #DEBHELPER#
  80. exit 0