JVB test
Run and test 2020.10.21
I've committed files to run both server and client on a local PC. Below is repo and local placement.
The docker images for servers. Use docker-compose up to run.
Please edit .env the docker's host side IP address (172.X.X.X) must be updated. Config folder below is needed.
config and local files for docker images. Put them at the same level to the docker image. myjvb is used as the jvb to run. It is mounted from the jvb1 image of the docker.
The client. Please use feature/jvb-limit-forward branch. I'll merge to master soon. It is in service/conference folder. "yarn dev" command will open web browser and web server for the client.
For initial build, you need to do yarn install and link to libs/lib-jitsi-meet, see package.json for commands.
Above are nesseary to run. To build, you will need below
jvb soruce to create myjvb. Use jvb-limit-forward branch. Do not make pull requrest to jitsi's original repository.
Java 8 or 1.8.X must be used to build. maven is needed.
library used by JVB, which is needed to be modified.
updateRepo.sh updates the our marven repo below. Need to modify it to fit your folder name (fulll path).
local maven repository for our modification of JVB. jitsi-media-transform must be pushed here and it is used by jitsi-videobridge.
'mvn package' create package to install and 'copy2docker.sh' copys it to docker-jitsi-meet-cfg/myjvb
update.sh compile by 'mvn compile' and copy class files to docker-jitsi-meet-cfg/myjvb/classes. It can be used quick update of JVB for test/debug. docker must be restarted to update.
Dashboard 2020.11.2
Notes: 2020.11.2
To see log messages :
code: .sh
docker-compose up
is useful. With out -d option it shows logs to the console.
Make TAT short
'mvn install' takes a lot of time. Instead 'mvn compile' and copy target/classes to docker's jvb is faster.
jvb/update.sh will do this.
docker-jitsi-meet-cfg 2020.11.2
Need to edit .env L50 DOCKER_HOST_ADDRESS=172.29.16.1 (docker host's IP address). It changes after reboot.
For CROS, edit ~/.jitsi-meet.config/web/nginx/meet.conf L33 and add add_header lines below.
code: ~/.jitsi-meet.config/web/nginx/meet.conf
# BOSH
location = /http-bind {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host meet.jitsi;
add_header 'Access-Control-Allow-Headers' '*';
add_header 'Access-Control-Allow-Origin' '*';
}
To use my jvb, modify docker
Exec bash on jvb's docker
docker-compose up -d
docker exec -it docker-jitsi-meet-stable-4857_jvb_1 bash
rename /usr/share/jitsi-videobridge to /usr/share/jitsi-videobridge.org
Commit docker image as myjvb
docker commit docker-jitsi-meet-stable-4857_jvb_1 myjvb
Edit docker-compose.yml L144 and L151 (replace image to myjvb and add volume for my executable)
code: docker-compose.yml L141-
# Video bridge
jvb:
# image: jitsi/jvb:stable-4857
image: myjvb
restart: ${RESTART_POLICY}
ports:
- '${JVB_PORT}:${JVB_PORT}/udp'
- '${JVB_TCP_PORT}:${JVB_TCP_PORT}'
volumes:
- ${CONFIG}/jvb:/config:Z
- ${CONFIG}/myjvb:/usr/share/jitsi-videobridge # mount host's disk as executable of jvb
Expand jvb/target/jitsi-videobridge-2.1-SNAPSHOT-archive.zip to ~/.jitsi-meet.config/myjvb
docker-compose down and docker-compose up -d
Edit client's config. The difference is "bosh:". It must be the address specified above.
code: jitsi-party/service/conference/src/config.js
const config_local = {
hosts: {
domain: 'meet.jitsi',
muc: 'muc.meet.jitsi',
focus: 'focus.meet.jitsi',
},
// openBridgeChannel: 'datachannel', // One of true, 'datachannel', or 'websocket'
focusUserJid: 'focus@auth.meet.jitsi',
channelLastN: -1,
p2p: {
enabled: false,
},
rtc:rtcConfig
}
const config = config_local