Skip to content

Instantly share code, notes, and snippets.

@mjtiempo
Created August 4, 2020 20:11
Show Gist options
  • Save mjtiempo/b1428fe96b9671c3b5f85612ba48b39f to your computer and use it in GitHub Desktop.
Save mjtiempo/b1428fe96b9671c3b5f85612ba48b39f to your computer and use it in GitHub Desktop.
Install Jitsi meet Ubuntu 20.04
sudo su
cd &&
apt-get update -y &&
apt-get install gcc -y &&
apt-get install unzip -y &&
apt-get install lua5.2 -y &&
apt-get install liblua5.2 -y &&
apt-get install luarocks -y &&
luarocks install basexx &&
apt-get install libssl-dev -y &&
luarocks install luacrypto2 &&
mkdir src &&
cd src &&
luarocks download lua-cjson &&
luarocks unpack lua-cjson-2.1.0.6-1.src.rock &&
cd lua-cjson-2.1.0.6-1/lua-cjson &&
sed -i 's/lua_objlen/lua_rawlen/g' lua_cjson.c &&
sed -i 's|$(PREFIX)/include|/usr/include/lua5.2|g' Makefile &&
luarocks make &&
cd &&
apt install git cmake liblua5.1-0-dev -y &&
git clone https://github.com/evanlabs/luacrypto &&
cd luacrypto &&
luarocks make &&
cd &&
luarocks install luajwtjitsi &&
cd &&
wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add - &&
echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list &&
apt-get update -y &&
apt-get upgrade -y &&
apt-get install prosody -y &&
chown root:prosody /etc/prosody/certs/localhost.key &&
chmod 644 /etc/prosody/certs/localhost.key &&
sleep 2 &&
shutdown -r now
sudo su
export VHOST=jitsi.vbox &&
export JISTI_APP_ID=app_id &&
export JISTI_APP_SECRET=app_secret &&
cd &&
cp /etc/prosody/certs/localhost.key /etc/ssl &&
apt-get install nginx -y &&
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add - &&
sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list" &&
apt-get -y update &&
apt-get install jitsi-meet -y &&
apt-get install jitsi-meet-tokens -y &&
sed -i '/^admins = { }/a component_ports = { 5347 }\ncomponent_interface = "0.0.0.0"' /etc/prosody/prosody.cfg.lua &&
sed -i 's/c2s_require_encryption = true/c2s_require_encryption = false/g' /etc/prosody/prosody.cfg.lua &&
sed -i 's/authentication = "anonymous"/authentication = "token"/g' /etc/prosody/conf.avail/$VHOST.cfg.lua &&
sed -i "s/--app_id=\"example_app_id\"/app_id=\"$JITSI_APP_ID\"/g" /etc/prosody/conf.avail/$VHOST.cfg.lua &&
sed -i "s/--app_secret=\"example_app_secret\"/app_secret=\"$JITSI_APP_SECRET\"/g" /etc/prosody/conf.avail/$VHOST.cfg.lua &&
sed -i 's/"bosh";/"bosh";\n "presence_identity";/g' /etc/prosody/conf.avail/$VHOST.cfg.lua &&
sed -i 's/-- "token_verification";/"token_verification";/g' /etc/prosody/conf.avail/$VHOST.cfg.lua &&
sed -i "/^VirtualHost \"$VHOST\"/i VirtualHost \"guest.$VHOST\" \n authentication = \"token\" \n app_id = \"$JITSI_APP_ID\" \n app_secret = \"$JITSI_APP_SECRET\" \n c2s_require_encryption = true \n allow_empty_token = true" /etc/prosody/conf.avail/$VHOST.cfg.lua &&
sed -i "s/\/\/ anonymousdomain: 'guest.example.com'/anonymousdomain: \"guest.$VHOST\"/g" /etc/jitsi/meet/$VHOST-config.js &&
sed -i 's/enableUserRolesBasedOnToken: false/enableUserRolesBasedOnToken: true/g' /etc/jitsi/meet/$VHOST-config.js &&
echo "org.jitsi.jicofo.auth.URL=XMPP:$VHOST" >> /etc/jitsi/jicofo/sip-communicator.properties &&
echo 'org.jitsi.jicofo.auth.DISABLE_AUTOLOGIN=true' >> /etc/jitsi/jicofo/sip-communicator.properties &&
sed -i "s/JICOFO_HOST=localhost/JICOFO_HOST=$VHOST/g" /etc/jitsi/jicofo/config &&
sed -i "s/JVB_HOST=/JVB_HOST=$VHOST/g" /etc/jitsi/videobridge/config &&
echo 'AUTOBIND=yes' >> /etc/jitsi/videobridge/config &&
systemctl restart nginx prosody jicofo jitsi-videobridge2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment