OK, I went through his video twice and figured out how to change what he did for what we need to do on OMV to get it running. Assumption is that you have portainer, have your Host Name/Local IP set up in portainer, and that you don't have git installed. Also that you are running letsencrypt, have a subdomain from duckdns.
All commands are executed as root in an SSH terminal. Don't use a union pool, address a disk specifically. In this case, I used my 4th Disk (most amount of free space when installing). Replace "/srv/dev-disk-by-label-Disk4" with whatever disk you use.
1. Create Jitsi directories:
mkdir -p /srv/dev-disk-by-label-Disk4/config/jitsi/jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}
mkdir -p /srv/dev-disk-by-label-Disk4/config/jitsi/github && cd /srv/dev-disk-by-label-Disk4/config/jitsi/github
2. Pull what you need from gihub:
apt-get install git
git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet
3. Edit the env.example file:
4. Change ONLY the following settings in env.example (do not put any passwords in the beginning of the file). In some cases, all you have to do is uncomment the line (remove the # symbol). Don't fill out any letsencrypt stuff in the env.example. I included the commented lines and what I set the variables to be is below:
#Directory where all configuration will be stored
CONFIG=/srv/dev-disk-by-label-Disk4/config/jitsi/jitsi-meet-cfg/
#System time zone
TZ=America/New_York
#Public URL for the webservice
PUBLIC_URL=https://subdomain.duckdns.org
#IP address of the Docker host
DOCKER_HOST_ADDRESS=X.X.X.X (whatever your local IP is)
#Enable authentication
ENABLE_AUTH=1
#Enable guest access
ENABLE_GUESTS=1
#Select authentication type: internal, jwt or ldap
AUTH_TYPE=internal
Display More
Hit "Ctrl-O" to save, Enter to confirm the file name, then "Ctrl-X" to exit.
5. Rename the env.example file:
6. Generate passwords that the Docker containers will use between themselves:
7. Run the docker compose file to set up the stack:
If you get an error, it may be that you have a different version of docker compose (I'm on OMV 4.X, so I did) - to fix that, edit the docker compose file (docker-compose.yml) and change the "version" at the top of the file to '2'
8. Once docker compose is done, log into portainer. Join all the jitsi containers to the network you use with letsencrypt (remove them from their existing networks).
9. Rename all the jitsi containers to the following:
- Rename docker-jitsi-meet_jicofo to focus.meet.jitsi
- Rename docker-jitsi-meet_jvb_1 to video.meet.jitsi
- Rename docker-jitsi-meet_web_1 to meet.jitsi
- Rename docker-jitsi-meet_prosody_1 to xmpp.meet.jitsi
10. Stop letsencrypt container
11. Edit/Copy the jitsimeet.subdomain.conf file for jitsi in your letsencrypt proxyconfs folder. Here's the code if you need to create from scratch. Only thing you should have to change is "server_name meet.*" Change meet.* to whatever your duckdns subdomain is.
# make sure that your dns has a cname set for jitsi this file assumes the subdomain is meet.yourdomain.com
server {
listen 80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name meet.*;
location / {
# enable the next two lines for http auth
# auth_basic "Ask for password from your organisation";
# auth_basic_user_file /config/nginx/.htpasswd;
ssi on;
proxy_pass http://meet.jitsi;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
# BOSH
location /http-bind {
proxy_pass http://xmpp.meet.jitsi:5280/http-bind;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
# xmpp websockets
location /xmpp-websocket {
proxy_pass http://xmpp.meet.jitsi:5280/xmpp-websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
tcp_nodelay on;
}
}
Display More
12. Start letsencrypt container
13. You have to set up the host username/password since you enabled authentication. Log into the console for xmpp.meet.jitsi via portainer. The command he used in the video continually spit out an error for me, so I did a little digging and found this:
prosodyctl --config /config/prosody.cfg.lua adduser username@meet.jitsi
Replace "username" with whatever you want your username to be, after you hit enter it will automatically prompt you for a password.
14. Restart xmpp.meet.jitsi container.
Go to whatever subdomain you have set up (using HTTPS), and watch your jitsi go to town!
