fix(service): Jitsi Meet doesn't work (#9594)
This commit is contained in:
commit
5a4f79441c
2 changed files with 729 additions and 67 deletions
650
svgs/jitsi.svg
Normal file
650
svgs/jitsi.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 35 KiB |
|
|
@ -1,127 +1,139 @@
|
|||
# ignore: true
|
||||
# documentation: https://jitsi.github.io/handbook/docs/intro
|
||||
# documentation: https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/
|
||||
# slogan: Self-hosted Jitsi Meet — open-source video conferencing platform
|
||||
# tags: jitsi,video,conference,webrtc,meeting,self-hosted
|
||||
# category: productivity
|
||||
# slogan: World's easiest way to add meetings to your apps
|
||||
# logo: svgs/jitsi.svg
|
||||
# tags: video, conferencing, meetings, communication, open-source
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
jitsi-web:
|
||||
image: "jitsi/web:${JITSI_IMAGE_VERSION:-unstable}"
|
||||
container_name: jitsi-web
|
||||
image: "jitsi/web:stable-10888"
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8001:80"
|
||||
- "8443:443"
|
||||
volumes:
|
||||
- ~/.jitsi-meet-cfg/web:/config:Z
|
||||
- ~/.jitsi-meet-cfg/web/crontabs:/var/spool/cron/crontabs:Z
|
||||
- ~/.jitsi-meet-cfg/transcripts:/usr/share/jitsi-meet/transcripts:Z
|
||||
environment:
|
||||
- SERVICE_URL_JITSI
|
||||
- PUBLIC_URL=$SERVICE_URL_JITSI
|
||||
- JITSI_IMAGE_VERSION=unstable
|
||||
- JIBRI_RECORDER_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- JIBRI_XMPP_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- JICOFO_AUTH_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- JIGASI_XMPP_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- JVB_AUTH_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- TZ=UTC
|
||||
- ENABLE_AUTH=0
|
||||
- ENABLE_GUESTS=1
|
||||
- ENABLE_LETSENCRYPT=0
|
||||
- ENABLE_HTTP_REDIRECT=0
|
||||
- DISABLE_HTTPS=1
|
||||
- XMPP_DOMAIN=meet.jitsi
|
||||
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||
- XMPP_GUEST_DOMAIN=guest.meet.jitsi
|
||||
- XMPP_MUC_DOMAIN=conference.meet.jitsi
|
||||
- XMPP_INTERNAL_MUC_DOMAIN=internal.auth.meet.jitsi
|
||||
- XMPP_BOSH_URL_BASE=http://prosody:5280
|
||||
- JVB_BREWERY_MUC=jvbbrewery
|
||||
- JICOFO_COMPONENT_SECRET=${SERVICE_PASSWORD_JICOFO}
|
||||
- JICOFO_AUTH_PASSWORD=${SERVICE_PASSWORD_JICOFO}
|
||||
- JVB_AUTH_PASSWORD=${SERVICE_PASSWORD_JVB}
|
||||
- TZ=${TZ:-UTC}
|
||||
depends_on:
|
||||
- prosody
|
||||
- jicofo
|
||||
- jvb
|
||||
volumes:
|
||||
- jitsi-web:/config
|
||||
networks:
|
||||
meet.jitsi:
|
||||
aliases:
|
||||
- meet.jitsi
|
||||
depends_on:
|
||||
- jvb
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost"]
|
||||
interval: 2s
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
prosody:
|
||||
image: "jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable}"
|
||||
expose:
|
||||
- '5222'
|
||||
- '5347'
|
||||
- '5280'
|
||||
container_name: jitsi-xmpp
|
||||
image: "jitsi/prosody:stable-10888"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ~/.jitsi-meet-cfg/prosody/config:/config:Z
|
||||
- ~/.jitsi-meet-cfg/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
|
||||
environment:
|
||||
- JICOFO_AUTH_PASSWORD
|
||||
- JVB_AUTH_PASSWORD
|
||||
- AUTH_TYPE=internal
|
||||
- ENABLE_AUTH=0
|
||||
- ENABLE_GUESTS=1
|
||||
- XMPP_DOMAIN=meet.jitsi
|
||||
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||
- XMPP_GUEST_DOMAIN=guest.meet.jitsi
|
||||
- XMPP_MUC_DOMAIN=conference.meet.jitsi
|
||||
- XMPP_INTERNAL_MUC_DOMAIN=internal.auth.meet.jitsi
|
||||
- JICOFO_COMPONENT_SECRET=${SERVICE_PASSWORD_JICOFO}
|
||||
- JICOFO_AUTH_PASSWORD=${SERVICE_PASSWORD_JICOFO}
|
||||
- JVB_AUTH_PASSWORD=${SERVICE_PASSWORD_JVB}
|
||||
- PUBLIC_URL=$SERVICE_URL_JITSI
|
||||
- TZ
|
||||
- TZ=${TZ:-UTC}
|
||||
- LOG_LEVEL=${LOG_LEVEL:-info}
|
||||
volumes:
|
||||
- jitsi-prosody:/config
|
||||
networks:
|
||||
meet.jitsi:
|
||||
aliases:
|
||||
- xmpp.meet.jitsi
|
||||
- auth.meet.jitsi
|
||||
- guest.meet.jitsi
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:5280/http-bind"]
|
||||
interval: 2s
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
jicofo:
|
||||
image: "jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable}"
|
||||
container_name: jitsi-jicofo
|
||||
image: "jitsi/jicofo:stable-10888"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ~/.jitsi-meet-cfg/jicofo:/config:Z
|
||||
environment:
|
||||
- AUTH_TYPE=internal
|
||||
- ENABLE_AUTH=0
|
||||
- XMPP_DOMAIN=meet.jitsi
|
||||
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||
- XMPP_INTERNAL_MUC_DOMAIN=internal.auth.meet.jitsi
|
||||
- XMPP_MUC_DOMAIN=conference.meet.jitsi
|
||||
- XMPP_SERVER=prosody
|
||||
- JICOFO_AUTH_PASSWORD
|
||||
- TZ
|
||||
- JICOFO_COMPONENT_SECRET=${SERVICE_PASSWORD_JICOFO}
|
||||
- JICOFO_AUTH_PASSWORD=${SERVICE_PASSWORD_JICOFO}
|
||||
- JVB_BREWERY_MUC=jvbbrewery
|
||||
- JICOFO_ENABLE_HEALTH_CHECKS=1
|
||||
- TZ=${TZ:-UTC}
|
||||
depends_on:
|
||||
- prosody
|
||||
volumes:
|
||||
- jitsi-jicofo:/config
|
||||
networks:
|
||||
meet.jitsi:
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8888/about/health"]
|
||||
interval: 2s
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
jvb:
|
||||
image: "jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable}"
|
||||
container_name: jitsi-jvb
|
||||
image: "jitsi/jvb:stable-10888"
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- '10000:10000/udp'
|
||||
- '8080:8080'
|
||||
- '10000'
|
||||
volumes:
|
||||
- ~/.jitsi-meet-cfg/jvb:/config:Z
|
||||
ports:
|
||||
- "10000:10000/udp"
|
||||
environment:
|
||||
- JVB_ADVERTISE_IPS
|
||||
- JVB_AUTH_PASSWORD
|
||||
- PUBLIC_URL=$SERVICE_URL_JITSI
|
||||
- TZ
|
||||
- XMPP_SERVER=prosody
|
||||
- XMPP_DOMAIN=meet.jitsi
|
||||
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||
- XMPP_INTERNAL_MUC_DOMAIN=internal.auth.meet.jitsi
|
||||
- XMPP_MUC_DOMAIN=conference.meet.jitsi
|
||||
- JVB_AUTH_USER=jvb
|
||||
- JVB_AUTH_PASSWORD=${SERVICE_PASSWORD_JVB}
|
||||
- JVB_BREWERY_MUC=jvbbrewery
|
||||
- JVB_PORT=10000
|
||||
- JVB_ADVERTISE_IPS=${JVB_ADVERTISE_IPS:-} #Optional: set your public IP only if STUN auto-detection fails or the server is behind NAT / multiple interfaces
|
||||
- JVB_STUN_SERVERS=${JVB_STUN_SERVERS:-stun.l.google.com:19302}
|
||||
- PUBLIC_URL=$SERVICE_URL_JITSI
|
||||
- TZ=${TZ:-UTC}
|
||||
depends_on:
|
||||
- prosody
|
||||
volumes:
|
||||
- jitsi-jvb:/config
|
||||
networks:
|
||||
meet.jitsi:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.udp.routers.my-udp-router.entrypoints=video"
|
||||
- "traefik.udp.routers.my-udp-router.service=my-udp-service"
|
||||
- "traefik.udp.services.my-udp-service.loadbalancer.server.port=10000"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/about/health"]
|
||||
interval: 2s
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
networks:
|
||||
meet.jitsi:
|
||||
|
||||
volumes:
|
||||
jitsi-web:
|
||||
jitsi-xmpp:
|
||||
jitsi-jicofo:
|
||||
jitsi-jvb:
|
||||
|
|
|
|||
Loading…
Reference in a new issue