Jitsi Meet

From Alpine Linux
Jump to: navigation, search

NOTE: this will build the applications required for a jitsi-meet server on Alpine Linux. Prosody (apk) plus videobridge and jicofo using latest 'stable' on jitsi GH repo. Tested on 'edge', should work on 3.12 (not tested)

NOTE TODO: I will return and update this page with config files and rc scripts. But it's similar to the Debian config. Also TODO nginx reverse proxy / bosh config.

Prosody

# apk add prosody

edit /etc/prosody/prosody.cfg.lua

generate certs: Edit /etc/prosody/certs/openssl.cnf

[FQDN] means www.example.com

# cd /etc/prosody/certs
# make [FQDN].cnf

edit file and make sure everything is correct

# make [FQDN].key

for self-signed certificate:

# make [FQDN].crt

or, for signing request:

# make [FQDN].csr

NOTE: repeat cert process for: auth.[FQDN] (ie, auth.www.example.com)

If you self-signed the cert, put it in the certs folder so it will be trusted on the local machine.

# ln -sf /etc/prosody/certs/auth.[FQDN] /usr/local/share/ca-certificates/
# update-ca-certificates -f
# prosodyctl start
# prosodyctl register focus auth.[FQDN] YOURSECRET3

(YOURSECRET3 is from cfg file /etc/prosody/prosody.cfg.lua)

# prosodyctl restart


Java/Maven setup

Maven is used to build videobridge and jicofo. Shell scripts included in software use bash. Jitsi uses jdk8, so should probably stick with that version. If you get fancy and use a newer jdk it might not work.

# apk add openjdk8
# apk add maven
# apk add bash
# apk add bash-completion
# sync


Videobridge

# wget https://github.com/jitsi/jitsi-videobridge/archive/stable/jitsi-meet_4627.tar.gz
# tar xf jitsi-meet_4627.tar.gz
# cd jitsi-videobridge-stable-jitsi-meet_4627
# mvn -PbuildFatJar -DskipTests -Dassembly.skipAssembly=false package

The first time you build it will download the m2 (maven) components, so it will take a while. Output after build should look like this:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  42.191 s
[INFO] Finished at: 2020-07-14T04:07:40Z
[INFO] ------------------------------------------------------------------------

Now create the users and install the software.

# cd target

# adduser -h /var/lib/jitsi -s /bin/bash -D jitsi
# adduser -h /var/lib/jvb -s /bin/bash -D jvb 
# adduser jvb jitsi
# mkdir /etc/jitsi
# chown jitsi:jitsi /etc/jitsi
# mkdir /etc/jitsi/videobridge
# chown -R jvb:jitsi /etc/jitsi/videobridge

# unzip jitsi-videobridge-2.1-SNAPSHOT-archive.zip
# cp -a jitsi-videobridge-2.1-SNAPSHOT/* /var/lib/jvb/


Jicofo

The download archive file from GH is the same name as videobridge, so we can put the new build in a separate directory.

# mkdir jicofo
# cd jicofo
# wget https://github.com/jitsi/jicofo/archive/stable/jitsi-meet_4627.tar.gz
# tar xf 	
# cd jicofo-stable-jitsi-meet_4627
# mvn -DskipTests -Dassembly.skipAssembly=false package

You should get output like this:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  42.191 s
[INFO] Finished at: 2020-07-14T04:07:40Z
[INFO] ------------------------------------------------------------------------
# cd target
# unzip jicofo-1.1-SNAPSHOT-archive.zip

Jigasi

Note: Optional. Jigasi is a SIP to Jitsi-Meet interface/gateway. This can be used to allow SIP and POTS users to "call in" to a meeting.

# wget https://github.com/jitsi/jigasi/archive/master.zip
# unzip master.zip
# cd jigasi-master
# mvn -DskipTests -Dassembly.skipAssembly=false package

You should receive a similar message:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:50 min
[INFO] Finished at: 2020-07-14T17:14:12Z
[INFO] ------------------------------------------------------------------------
# cd target
# unzip jigasi-linux-x64-1.1-SNAPSHOT.zip