fix(templates): restore Jitsi Meet service template (#4813)

This commit is contained in:
miqonee 2026-04-16 18:44:23 +07:00
parent 57ea0764b8
commit c07053d28b
2 changed files with 731 additions and 63 deletions

650
svgs/jitsi.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 35 KiB

View file

@ -1,119 +1,136 @@
# ignore: true
# documentation: https://jitsi.github.io/handbook/docs/intro
# category: productivity
# slogan: World's easiest way to add meetings to your apps
# 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
# 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
@ -122,6 +139,7 @@ networks:
volumes:
jitsi-web:
jitsi-xmpp:
jitsi-prosody:
jitsi-jicofo:
jitsi-jvb: