Every eolab.de has to be changed to your URL.
git clone https://github.com/jitsi/docker-jitsi-meet.git
mv docker-jitsi-meet/ jitsi-meet/
cd jitsi-meet/
cp env.example .env
./gen-passwords.sh
mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}
nano .env
HTTP_PORT=8000
TZ=Europe/Berlin
PUBLIC_URL=https://meet.eolab.de
sudo nano /etc/nginx/sites-available/eolab.de
upstream jitsi {
server localhost:8000;
}
change the port if needed
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name meet.eolab.de;
ssl_certificate /etc/letsencrypt/live/meet.eolab.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meet.eolab.de/privkey.pem;
include snippets/ssl-params.conf;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
add_header X-Xss-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
add_header Referrer-Policy same-origin;
proxy_cookie_path / "/; HTTPOnly; Secure";
add_header Expect-CT "enforce, max-age=21600";
add_header Feature-Policy "payment none";
keepalive_timeout 70;
sendfile on;
client_max_body_size 0;
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
location / {
log_not_found off;
proxy_cache_valid 200 120m;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_pass http://jitsi/;
}
location ~ ^/colibri-ws/([a-zA-Z0-9-\.]+)/(.*) {
tcp_nodelay on;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://jitsi/colibri-ws/$1/$2$is_args$args;
}
location /xmpp-websocket {
tcp_nodelay on;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_pass http://jitsi/xmpp-websocket;
}
}
make sure to change the server_name, ssl_certificate and ssl_certificate_key
sudo systemctl restart nginx
docker-compose up -d
docker-compose stop
sudo rm -r ~/.jitsi-meet-cfg
mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri}
nano .env
ENABLE_AUTH=1
ENABLE_GUESTS=1
AUTH_TYPE=internal
docker-compose up -d
docker ps -a
docker exec -it CONTAINER-ID-HERE /bin/bash
su
username and password in this command: prosodyctl --config /config/prosody.cfg.lua register username meet.jitsi password
These credentials are now needed to create a new room
exit
exit
docker-compose stop
nano ~/.jitsi-meet-cfg/web/custom-config.js
config.startAudioMuted = 1;
config.resolution = 1080;
config.constraints.video.height = {ideal: 1080, max: 1440, min:480};
config.startVideoMuted = 1;
config.enableNoisyMicDetection = 1;
config.desktopSharingFrameRate = {min: 5, max: 24};
config.videoQuality.maxBitratesVideo = {low: 1500000, standard: 5000000, high: 10000000}
docker-compose up -d
I´ve done this differently before by editing the config.js directly (see older revisions) but it seemed to me that the settings weren't saved correctly. This post helped me: [Solved] Config.js recreated on every container start - how to configure?