
Deploy Jitsi on Your Own Server
Free open-source video conferencing for web & mobile
🛠️ Developer Tools
想更快部署 Jitsi到服务器?试试 Senate,一条命令完成部署,自动配置 HTTPS 和监控。
什么是 Jitsi?
This one click app is based on Jitsi docker image.
自托管 Jitsi
按照以下步骤在您的服务器上部署。
1
安装 Docker
如果服务器上已安装 Docker,可跳过此步骤。
curl -fsSL https://get.docker.com | sh
2
配置
自定义以下设置。大多数情况下使用默认值即可。
3
部署
复制配置并在服务器上运行。
services:
jitsi-jicofo:
image: jitsi/jicofo:4416
environment:
HTTPS_PORT: "8443"
HTTP_PORT: "8000"
JIBRI_BREWERY_MUC: jibribrewery
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh
JIBRI_LOGS_DIR: /config/logs
JIBRI_PENDING_TIMEOUT: "90"
JIBRI_RECORDER_PASSWORD: pass
JIBRI_RECORDER_USER: recorder
JIBRI_RECORDING_DIR: /config/recordings
JIBRI_STRIP_DOMAIN_JID: muc
JIBRI_XMPP_PASSWORD: pass
JIBRI_XMPP_USER: jibri
JICOFO_AUTH_PASSWORD: pass
JICOFO_AUTH_USER: focus
JICOFO_COMPONENT_SECRET: pass
JIGASI_BREWERY_MUC: jigasibrewery
JIGASI_PORT_MAX: "20050"
JIGASI_PORT_MIN: "20000"
JIGASI_XMPP_PASSWORD: pass
JIGASI_XMPP_USER: jigasi
JVB_AUTH_PASSWORD: pass
JVB_AUTH_USER: jvb
JVB_BREWERY_MUC: jvbbrewery
JVB_PORT: "10000"
JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443
JVB_TCP_HARVESTER_DISABLED: "true"
JVB_TCP_PORT: "4443"
TZ: Europe/Amsterdam
XMPP_AUTH_DOMAIN: auth.meet.jitsi
XMPP_BOSH_URL_BASE: http://jitsi-prosody:5280
XMPP_DOMAIN: meet.jitsi
XMPP_GUEST_DOMAIN: guest.meet.jitsi
XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi
XMPP_INTERNAL_MUC_MODULES: ""
XMPP_MODULES: ""
XMPP_MUC_DOMAIN: muc.meet.jitsi
XMPP_MUC_MODULES: ""
XMPP_RECORDER_DOMAIN: recorder.meet.jitsi
XMPP_SERVER: jitsi-prosody
volumes:
- jitsi-jicofo:/config
depends_on:
- jitsi-prosody
jitsi-jvb:
image: jitsi/jvb:4416
environment:
HTTPS_PORT: "8443"
HTTP_PORT: "8000"
JIBRI_BREWERY_MUC: jibribrewery
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh
JIBRI_LOGS_DIR: /config/logs
JIBRI_PENDING_TIMEOUT: "90"
JIBRI_RECORDER_PASSWORD: pass
JIBRI_RECORDER_USER: recorder
JIBRI_RECORDING_DIR: /config/recordings
JIBRI_STRIP_DOMAIN_JID: muc
JIBRI_XMPP_PASSWORD: pass
JIBRI_XMPP_USER: jibri
JICOFO_AUTH_PASSWORD: pass
JICOFO_AUTH_USER: focus
JICOFO_COMPONENT_SECRET: pass
JIGASI_BREWERY_MUC: jigasibrewery
JIGASI_PORT_MAX: "20050"
JIGASI_PORT_MIN: "20000"
JIGASI_XMPP_PASSWORD: pass
JIGASI_XMPP_USER: jigasi
JVB_AUTH_PASSWORD: pass
JVB_AUTH_USER: jvb
JVB_BREWERY_MUC: jvbbrewery
JVB_PORT: "10000"
JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443
JVB_TCP_HARVESTER_DISABLED: "true"
JVB_TCP_PORT: "4443"
TZ: Europe/Amsterdam
XMPP_AUTH_DOMAIN: auth.meet.jitsi
XMPP_BOSH_URL_BASE: http://jitsi-prosody:5280
XMPP_DOMAIN: meet.jitsi
XMPP_GUEST_DOMAIN: guest.meet.jitsi
XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi
XMPP_INTERNAL_MUC_MODULES: ""
XMPP_MODULES: ""
XMPP_MUC_DOMAIN: muc.meet.jitsi
XMPP_MUC_MODULES: ""
XMPP_RECORDER_DOMAIN: recorder.meet.jitsi
XMPP_SERVER: jitsi-prosody
volumes:
- jitsi-jvb:/config
ports:
- $$cap_jvb_udp:$$cap_jvb_udp
- $$cap_jvb_tcp:$$cap_jvb_tcp
depends_on:
- jitsi-prosody
jitsi-prosody:
image: jitsi/prosody:4416
environment:
HTTPS_PORT: "8443"
HTTP_PORT: "8000"
JIBRI_BREWERY_MUC: jibribrewery
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh
JIBRI_LOGS_DIR: /config/logs
JIBRI_PENDING_TIMEOUT: "90"
JIBRI_RECORDER_PASSWORD: pass
JIBRI_RECORDER_USER: recorder
JIBRI_RECORDING_DIR: /config/recordings
JIBRI_STRIP_DOMAIN_JID: muc
JIBRI_XMPP_PASSWORD: pass
JIBRI_XMPP_USER: jibri
JICOFO_AUTH_PASSWORD: pass
JICOFO_AUTH_USER: focus
JICOFO_COMPONENT_SECRET: pass
JIGASI_BREWERY_MUC: jigasibrewery
JIGASI_PORT_MAX: "20050"
JIGASI_PORT_MIN: "20000"
JIGASI_XMPP_PASSWORD: pass
JIGASI_XMPP_USER: jigasi
JVB_AUTH_PASSWORD: pass
JVB_AUTH_USER: jvb
JVB_BREWERY_MUC: jvbbrewery
JVB_PORT: "10000"
JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443
JVB_TCP_HARVESTER_DISABLED: "true"
JVB_TCP_PORT: "4443"
TZ: Europe/Amsterdam
XMPP_AUTH_DOMAIN: auth.meet.jitsi
XMPP_BOSH_URL_BASE: http://jitsi-prosody:5280
XMPP_DOMAIN: meet.jitsi
XMPP_GUEST_DOMAIN: guest.meet.jitsi
XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi
XMPP_INTERNAL_MUC_MODULES: ""
XMPP_MODULES: ""
XMPP_MUC_DOMAIN: muc.meet.jitsi
XMPP_MUC_MODULES: ""
XMPP_RECORDER_DOMAIN: recorder.meet.jitsi
XMPP_SERVER: jitsi-prosody
volumes:
- jitsi-prosody:/config
jitsi-web:
image: jitsi/web:4416
environment:
HTTPS_PORT: "8443"
HTTP_PORT: "8000"
JIBRI_BREWERY_MUC: jibribrewery
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: /config/finalize.sh
JIBRI_LOGS_DIR: /config/logs
JIBRI_PENDING_TIMEOUT: "90"
JIBRI_RECORDER_PASSWORD: pass
JIBRI_RECORDER_USER: recorder
JIBRI_RECORDING_DIR: /config/recordings
JIBRI_STRIP_DOMAIN_JID: muc
JIBRI_XMPP_PASSWORD: pass
JIBRI_XMPP_USER: jibri
JICOFO_AUTH_PASSWORD: pass
JICOFO_AUTH_USER: focus
JICOFO_COMPONENT_SECRET: pass
JIGASI_BREWERY_MUC: jigasibrewery
JIGASI_PORT_MAX: "20050"
JIGASI_PORT_MIN: "20000"
JIGASI_XMPP_PASSWORD: pass
JIGASI_XMPP_USER: jigasi
JVB_AUTH_PASSWORD: pass
JVB_AUTH_USER: jvb
JVB_BREWERY_MUC: jvbbrewery
JVB_PORT: "10000"
JVB_STUN_SERVERS: meet-jit-si-turnrelay.jitsi.net:443
JVB_TCP_HARVESTER_DISABLED: "true"
JVB_TCP_PORT: "4443"
TZ: Europe/Amsterdam
XMPP_AUTH_DOMAIN: auth.meet.jitsi
XMPP_BOSH_URL_BASE: http://jitsi-prosody:5280
XMPP_DOMAIN: meet.jitsi
XMPP_GUEST_DOMAIN: guest.meet.jitsi
XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi
XMPP_INTERNAL_MUC_MODULES: ""
XMPP_MODULES: ""
XMPP_MUC_DOMAIN: muc.meet.jitsi
XMPP_MUC_MODULES: ""
XMPP_RECORDER_DOMAIN: recorder.meet.jitsi
XMPP_SERVER: jitsi-prosody
volumes:
- jitsi-web:/config
- jitsi-web-transcripts:/usr/share/jitsi-meet/transcripts
ports:
- $$cap_https_port:443
- $$cap_http_port:80
volumes:
jitsi-jicofo: {}
jitsi-jvb: {}
jitsi-prosody: {}
jitsi-web: {}
jitsi-web-transcripts: {}
然后运行:
docker compose up -d
4
访问
启动后,访问您的应用: http://localhost:80
为什么要自托管 Jitsi?
完全数据所有权
数据保存在您的服务器上,无第三方访问。
无月费
只需支付服务器费用,无按席位或用量收费。
完全控制
按您的需求自定义、备份和扩展。
隐私与合规
满足 GDPR、HIPAA 或内部安全要求。
技术细节
Docker 镜像
jitsi/jicofo:${tag_version}官方文档
github.com想更快部署?
尝试 Senate!Senate 帮您处理 Docker、HTTPS、更新和监控。一条命令部署 300+ 应用。
在任意 Linux 服务器上安装:
sh -c "$(curl -sSL https://get.senate.sh)"