#!/bin/bash # postinst script for jitsi-meet-prosody # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) . /etc/default/jitsi-videobridge PROSODY_CONFIG_PRESENT="true" # if there is no prosody config extract our template if [ ! -f /etc/prosody/prosody.cfg.lua ]; then PROSODY_CONFIG_PRESENT="false" gunzip -c /usr/share/doc/jitsi-meet-prosody/prosody.cfg.lua-jvb.example.gz > /etc/prosody/prosody.cfg.lua fi # if there is no config for our domain, lets create it if ! grep -q "VirtualHost \"$JVB_HOSTNAME\"" /etc/prosody/prosody.cfg.lua; then # if its not our template, save the original and extract our template if ! grep -q "VirtualHost \"jitmeet.example.com\"" /etc/prosody/prosody.cfg.lua; then PROSODY_CONFIG_PRESENT="false" cp /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.orig gunzip -c /usr/share/doc/jitsi-meet-prosody/prosody.cfg.lua-jvb.example.gz > /etc/prosody/prosody.cfg.lua fi if [ "PROSODY_CONFIG_PRESENT" = "true" ]; then cp /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.orig fi sed -i "s/jitmeet.example.com/$JVB_HOSTNAME/g" /etc/prosody/prosody.cfg.lua sed -i "s/jitmeetSecret/$JVB_SECRET/g" /etc/prosody/prosody.cfg.lua fi if [ ! -f /var/lib/prosody/$JVB_HOSTNAME.crt ]; then HOST="$( (hostname -s; echo localhost) | head -n 1)" DOMAIN="$( (hostname -d; echo localdomain) | head -n 1)" openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj \ "/O=$DOMAIN/OU=$HOST/CN=$JVB_HOSTNAME/emailAddress=webmaster@$HOST.$DOMAIN" \ -keyout /var/lib/prosody/$JVB_HOSTNAME.key \ -out /var/lib/prosody/$JVB_HOSTNAME.crt fi ln -sf /var/lib/prosody/$JVB_HOSTNAME.key /etc/prosody/certs/$JVB_HOSTNAME.key ln -sf /var/lib/prosody/$JVB_HOSTNAME.crt /etc/prosody/certs/$JVB_HOSTNAME.crt invoke-rc.d prosody restart ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0