Featured image of post Jitsi

Jitsi

Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.

GitHub https://github.com/jitsi/jitsi-meet

Self-Hosting docs https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/

Quick Start

为了在运行 Docker 和 Docker Compose 的计算机上快速运行 Jitsi Meet,请按照以下步骤操作

1
wget $(curl -s https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep 'zip' | cut -d\" -f4)
1
2
7z x <filename>
cd <dirname>
1
2
3
4
cp env.example .env
./gen-passwords.sh
mkdir -p /opt/jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}
sed -i 's#CONFIG=.*#CONFIG=/opt/jitsi-meet-cfg#g' .env

记得修改 PUBLIC_URL

1
docker compose up -d

可最少开放 HTTPS_PORTJVB_PORT 两个端口。以下是默认值

HTTPS_PORT=8443

JVB_PORT=10000

Configuration

修改 JVB port

请在 .env 文件中添加以下行

1
JVB_PORT=10000

禁用 XMPP Websocket

请在 .env 文件中添加以下行

1
ENABLE_XMPP_WEBSOCKET=0

禁用 HSTS

请在 .env 文件中添加以下行

1
ENABLE_HSTS=0

禁用 P2P

请在 .env 文件中添加以下行

1
ENABLE_P2P=0

Question

只能访问主页,无法视频

有可能是 XMPP Websocket 的问题,可参考这里禁用。

IPv6

Docker 部署下的 Jitsi Meet 经过不完全测试,IPv6 可能会有问题。

可能需要套一层反代来使 IPv6 的访问代理成 IPv4。UDP 端口可能也需要代理。

可能的解决方案

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
server {
    listen 80;
    listen [::]:80;
    server_name meet.example.com;
    
    location / {
        return 301 https://$server_name$request_uri;
    }
}
 
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name meet.example.com;
 
    ssl_certificate /path/to/cert.crt;
    ssl_certificate_key /path/to/cert.key;
 
    location / {
        # HTTPS Proxy
        proxy_pass https://127.0.0.1:8443;
    }
    
    location ~ /(xmpp-websocket|colibri-ws|http-bind) {
        # WebSocket Proxy
        proxy_pass https://127.0.0.1:8443;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
Licensed under CC BY-NC-SA 4.0