---
tags: sysadmin, videoconference, config, server, hetzner
title: VC Configuration
---
# VC (Video-Conf) Configuration
This descibes the configuration for the Les Grands Voisins video-chat server.
https://vc.lesgrandsvoisins.fr
This server is on the [Hetzner machine](https://hackmd.io/@lesgrandsvoisins/SJr65R-tI).
## Configuration Files
```
/etc/nginx/sites-available/vc.lesgrandsvoisins.fr.conf
/etc/prosody/conf.avail/vc.lesgrandsvoisins.fr.cfg.lua
/etc/jitsi/jicofo/config
/etc/jitsi/meet/vc.lesgrandsvoisins.fr-config.js
/etc/jitsi/videobridge/config
/etc/jitsi/videobridge/sip-communicator.properties
/etc/jitsi/jicofo/sip-communicator.properties
```
## Log Files
```
/var/log/prosody/prosody.err
/var/log/prosody/prosody.log
/var/log/jitsi/jvb.log
/var/log/jitsi/jicofo.log
/var/log/nginx/access.log
/var/log/nginx/error.log
```
## Restart Command
`systemctl restart nginx jitsi-videobridge2 prosody; systemctl status nginx jitsi-videobridge2 prosody`
## NGINX Configuration
/etc/nginx/sites-available/vc.lesgrandsvoisins.fr.conf
Lets Encrypt.
Root at /usr/share/jitsi-meet
Config /config.js at /etc/jitsi/meet/vc.lesgrandsvoisins.fr-config.js;
Some kind of external API at /external_api.js at /usr/share/jitsi-meet/libs/external_api.min.js;
### BOSH Configuration in NGINX
/http-bind
Proxy forwarding to /http-bind on port 5280 *
There is also a bit about subdomains.
### Websockets COnfiguration on NIGINX
/xmpp-websocket
forward to /xmpp-websocket on port 5280
There is also a bit about subdomains.
## PROSODY Configuration
/etc/prosody/conf.avail/vc.lesgrandsvoisins.fr.cfg.lua
`prosodyctl adduser focus@auth.vchat.mann.fr`
root@debian-2gb-fsn1-1:/etc# prosodyctl adduser jvb@auth.vchat.mann.fr
## JITSI Configuration
### JITSI JICOFO
#### /etc/jitsi/jicofo/config
There is a turncredentials_secret for Prosody.
It uses a BOSH plugin.
The virtualhost is **vc.lesgrandsvoisins.fr**. There seems to be some discussion about this, especially if we wish to have one Prosody instance for multiple domain names.
**conference.vc.lesgrandsvoisins.fr**
An "muc" component for Multiple-Users Conference, probably a java service stored in memory. #user `focus@auth.vc.lesgrandsvoisins.fr` ???.
It seems to have **speakerstats.vc.lesgrandsvoisins.fr** and **conferenceduration.vc.lesgrandsvoisins.fr** sub components.
**internal.auth.vc.lesgrandsvoisins.fr**
Users are `focus@auth.vc.lesgrandsvoisins.fr` and `jvb@auth.vc.lesgrandsvoisins.fr` ??? #user
There are components with secrets for **focus.vc.lesgrandsvoisins.fr** and **auth.vc.lesgrandsvoisins.fr**. The latter uses internal_plain.
The ping is on, it's on the streets!
#### /etc/jitsi/jicofo/sip-communicator.properties
This specifies that the JICOFO hostname is vc.lesgrandsvoisins.fr and theere is a JICOFO_SECRET (that corresponds to ???)
### JITSI MEET
/etc/jitsi/meet/vc.lesgrandsvoisins.fr-config.js
This specifies that the XMPP domain is vc.lesgrandsvoisins.fr.
There is a static BOSH URL to vc.lesgrandsvoisins.fr
### JITSI VIDEOBRIDGE
/etc/jitsi/videobridge/config
The videobridge usese vc.lesgrandsvoisins.fr on port 5347 (default was 5275 apparently). There also is a JVB Secret.
This uses auth.vc.lesgrandsvoisins.fr on localhost
/etc/jitsi/videobridge/sip-communicator.properties
This uses internal.auth.vc.lesgrandsvoins.fr.
## Copied Diagram from GitHub
This is how the network looks:
```
+ +
| |
| |
v |
443 |
+-------+ |
| | |
| Nginx | |
| | |
+--+-+--+ |
| | |
+------------+ | | +--------------+ |
| | | | | | |
| jitsi-meet +<---+ +--->+ prosody/xmpp | |
| |files 5280 | | |
+------------+ +--------------+ v
5222,5347^ ^5347 4443,10000
+--------+ | | +-------------+
| | | | | |
| jicofo +----^ ^----+ videobridge |
| | | |
+--------+ +-------------+
```
## Notes
See:
https://cmapscloud.ihmc.us:443/rid=1VPF3Z5B3-1BZZ18-PC

Upgraded server to 2 cores because of NGINX race condition.
https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864
Trying this for multiple domaines:
https://community.jitsi.org/t/same-jitsi-meet-instance-with-multiple-domain-names/17391
Adding
* vc.lesgrandsvoisins.fr
* vc.lesgrandsvoisins.com
* vc.mann.fr
Jitsi installation instructions:
https://mangolassi.it/topic/18402/install-jitsi-meet-on-debian-9-minimal
Jitsi Uses port 5347
Jitsi user prosody
What does the user jicofo do?
/etc/apt/sources.list:
Stadard, no additions
This looks like a better option:
https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md
There is a strange thing on the computer. In /etc/hosts, the loopback seems also to be 127.0.1.1 ???
127.0.1.1 debian-2gb-fsn1-1 debian-2gb-fsn1-1
127.0.0.1 localhost
Appended to the line localhost in /etc/hosts
127.0.0.1 localhost vc.lgv.lol vc.lesgrandsvoisins.fr vc.mann.fr vc.lesgrandsvoisins.com lgv.lol
This gives a full amd complete installation:
https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md
and is actually necessary to understand what is happening.
Using
https://github.com/jitsi/jitsi-meet/raw/master/doc/example-config-files/prosody.cfg.lua.example
It looks like Prosody can use a different virtualhost for a same instance. That is the route I will take.
```bash
prosodyctl cert generate vc.lesgrandsvoisins.fr
prosodyctl cert generate auth.vc.lesgrandsvoisins.fr
systemctl restart prosody
```
Adding the certificates:
```bash
ln -sf /var/lib/prosody/auth.vc.lesgrandsvoisins.fr.crt /usr/local/share/ca-certificates/auth.vc.lesgrandsvoisins.fr.crt
update-ca-certificates -f
```
Actually, I don't think the certificcates in /etc/jitsi/meet actually do anything.
Adding config in Jitsi Meet
```
cp /etc/jitsi/meet/vc.lgv.lol-config.js /etc/jitsi/meet/vc.lesgrandsvoisins.fr-config.js
root@debian-2gb-fsn1-1:/etc/jitsi/meet# openssl genrsa -des3 -out vc.lesgrandsvoisins.fr.key 2048
openssl rsa -in vc.lesgrandsvoisins.fr.key -out vc.lesgrandsvoisins.fr.key
openssl req -new -key vc.lesgrandsvoisins.fr.key -out vc.lesgrandsvoisins.fr.csr
openssl x509 -req -days 365 -in vc.lesgrandsvoisins.fr.csr -signkey vc.lesgrandsvoisins.fr.key -out vc.lesgrandsvoisins.fr.crt
```
Followed instructions from here for SSL Certificate generation:
https://www.akadia.com/services/ssh_test_certificate.html
http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
prosodyctl register focus auth.vc.lesgrandsvoisins.fr ********
## Passwords
The passwords defined in vc.lesgrandsvoisins.fr.cfg.lua are used in jicofo/config and videobridge/sip-communicator.properties.
vc.lesgrandsvoisins.fr.conf uses vc.lesgrandsvoisins.fr-config.js.
vc.lesgrandsvoisins.fr.cfg.lua has two passwords.
Setting up certs in /etc/prosody/certs:
```
cd /etc/prosody/certs
openssl genrsa -des3 -passout pass:x -out autho.vc.lesgrandsvoisins.fr.key 2048
openssl rsa -passin pass:nada -in autho.vc.lesgrandsvoisins.fr.key -out auth.vc.lesgrandsvoisins.fr.key
rm autho.vc.lesgrandsvoisins.fr.key
openssl req -new -key auth.vc.lesgrandsvoisins.fr.key -out auth.vc.lesgrandsvoisins.fr.csr
openssl x509 -req -sha256 -days 365 -in auth.vc.lesgrandsvoisins.fr.csr -signkey auth.vc.lesgrandsvoisins.fr.key -out auth.vc.lesgrandsvoisins.fr.crt
```
## Prosody Users
DEPRECIATED
:! prosodyctl register jvb auth.vc.lesgrandsvoisins.fr F8GH7qDw
## Certificates
DONT DO THIS !!!!!!
/var/lib/prosody are link to /etc/prosody/certs/
prosodyctl cert generate auth.vc.lesgrandsvoisins.fr
## System services
```
systemctl restart jitsi-videobridge2 prosody nginx
systemctl status jitsi-videobridge2 prosody nginx
```
## Open Ports to the Outside
Jitsi requires TCP/443, TCP/4443, UDP/10000 accessible (optionally 80 redirects to 443, 5222 is required internally)
https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md#network-description
## Personalizing the UI
https://community.jitsi.org/t/customize-welcome-page/24341/2
https://github.com/jitsi/jitsi-meet/tree/master/react/features/welcome/components
The key, I think, is that it uses REACT components
```bash
# as root
aptitude install git
cd /etc/jitsi/jitsi-meet
```