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.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. # loading debconf
  21. . /usr/share/debconf/confmodule
  22. # stores the hostname so we will reuse it later, like in purge
  23. db_set jitsi-meet/jvb-hostname $JVB_HOSTNAME
  24. # nginx conf
  25. if [ ! -f /etc/nginx/sites-available/$JVB_HOSTNAME.conf ]; then
  26. cp /usr/share/doc/jitsi-meet/jitsi-meet.example /etc/nginx/sites-available/$JVB_HOSTNAME.conf
  27. if [ ! -f /etc/nginx/sites-enabled/$JVB_HOSTNAME.conf ]; then
  28. ln -s /etc/nginx/sites-available/$JVB_HOSTNAME.conf /etc/nginx/sites-enabled/$JVB_HOSTNAME.conf
  29. fi
  30. sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" /etc/nginx/sites-available/$JVB_HOSTNAME.conf
  31. fi
  32. if grep "# server_names_hash_bucket_size 64" /etc/nginx/nginx.conf > /dev/null; then
  33. sed -i "s/#\ server_names_hash_bucket_size\ 64/\ server_names_hash_bucket_size\ 64/" /etc/nginx/nginx.conf
  34. fi
  35. if [ ! -f /etc/ssl/$JVB_HOSTNAME.key ] || [ ! -f /etc/ssl/$JVB_HOSTNAME.crt ]; then
  36. # SSL for nginx
  37. db_get jitsi-meet/cert-choice
  38. CERT_CHOICE="$RET"
  39. if [ "$CERT_CHOICE" = 'A certificate is available and the files are uploaded on the server' ]; then
  40. db_set jitsi-meet/cert-path-key "/etc/ssl/$JVB_HOSTNAME.key"
  41. db_input critical jitsi-meet/cert-path-key || true
  42. db_go
  43. db_get jitsi-meet/cert-path-key
  44. CERT_KEY="$RET"
  45. db_set jitsi-meet/cert-path-crt "/etc/ssl/$JVB_HOSTNAME.crt"
  46. db_input critical jitsi-meet/cert-path-crt || true
  47. db_go
  48. db_get jitsi-meet/cert-path-crt
  49. CERT_CRT="$RET"
  50. # replace self-signed certificate paths with user provided ones
  51. CERT_KEY_ESC=$(echo $CERT_KEY | sed 's/\./\\\./g')
  52. CERT_KEY_ESC=$(echo $CERT_KEY_ESC | sed 's/\//\\\//g')
  53. sed -i "s/ssl_certificate_key\ \/var\/lib\/prosody\/.*key/ssl_certificate_key\ $CERT_KEY_ESC/g" \
  54. /etc/nginx/sites-available/$JVB_HOSTNAME.conf
  55. CERT_CRT_ESC=$(echo $CERT_CRT | sed 's/\./\\\./g')
  56. CERT_CRT_ESC=$(echo $CERT_CRT_ESC | sed 's/\//\\\//g')
  57. sed -i "s/ssl_certificate\ \/var\/lib\/prosody\/.*crt/ssl_certificate\ $CERT_CRT_ESC/g" \
  58. /etc/nginx/sites-available/$JVB_HOSTNAME.conf
  59. fi
  60. fi
  61. # jitsi meet
  62. JITSI_MEET_CONFIG="/etc/jitsi/meet/$JVB_HOSTNAME-config.js"
  63. if [ ! -f $JITSI_MEET_CONFIG ]; then
  64. cp /usr/share/doc/jitsi-meet/config.js $JITSI_MEET_CONFIG
  65. sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" $JITSI_MEET_CONFIG
  66. fi
  67. # and we're done with debconf
  68. db_stop
  69. invoke-rc.d nginx reload
  70. ;;
  71. abort-upgrade|abort-remove|abort-deconfigure)
  72. ;;
  73. *)
  74. echo "postinst called with unknown argument \`$1'" >&2
  75. exit 1
  76. ;;
  77. esac
  78. # dh_installdeb will replace this with shell code automatically
  79. # generated by other debhelper scripts.
  80. #DEBHELPER#
  81. exit 0