109 lines
3.7 KiB
Django/Jinja
109 lines
3.7 KiB
Django/Jinja
version: '3.5'
|
|
|
|
services:
|
|
web:
|
|
image: jitsi/web:stable-8218
|
|
container_name: jitsi-web
|
|
restart: unless-stopped
|
|
volumes:
|
|
- {{ data_dir }}/web:/config:Z
|
|
- {{ data_dir }}/web/crontabs:/var/spool/cron/crontabs:Z
|
|
- {{ data_dir }}/transcripts:/usr/share/jitsi-meet/transcripts:Z
|
|
environment:
|
|
- DISABLE_HTTPS=1
|
|
- ENABLE_AUTH=1
|
|
- ENABLE_GUESTS=1
|
|
- ENABLE_IPV6=1
|
|
- ENABLE_LETSENCRYPT=0
|
|
- PUBLIC_URL=https://{{ public_domain }}
|
|
- TZ=Europe/Amsterdam
|
|
networks:
|
|
- meet.jitsi
|
|
- traefik
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.jitsi-web.entrypoints=websecure
|
|
- traefik.http.routers.jitsi-web.rule=Host(`{{ public_domain }}`)
|
|
- traefik.http.routers.jitsi-web.tls=true
|
|
- traefik.http.routers.jitsi-web.tls.certresolver=letsencrypt
|
|
- traefik.http.services.jitsi-web.loadbalancer.server.port=80
|
|
- traefik.http.routers.jitsi-web.service=jitsi-web
|
|
- traefik.docker.network=traefik
|
|
|
|
prosody:
|
|
image: jitsi/prosody:stable-8218
|
|
container_name: jitsi-xmpp
|
|
restart: unless-stopped
|
|
expose:
|
|
- '5222'
|
|
- '5347'
|
|
- '5280'
|
|
volumes:
|
|
- {{ data_dir }}/prosody/config:/config:Z
|
|
- {{ data_dir }}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
|
|
environment:
|
|
- AUTH_TYPE=internal
|
|
- ENABLE_AUTH=1
|
|
- ENABLE_GUESTS=1
|
|
- ENABLE_IPV6=1
|
|
- ENABLE_LOBBY=1
|
|
- JIBRI_RECORDER_PASSWORD={{ jibri_recorder_password }}
|
|
- JIBRI_XMPP_PASSWORD={{ jibri_xmpp_password }}
|
|
- JICOFO_AUTH_PASSWORD={{ jicofo_auth_password }}
|
|
- JIGASI_XMPP_PASSWORD={{ jigasi_xmpp_password }}
|
|
- JVB_AUTH_PASSWORD={{ jvb_auth_password }}
|
|
- PUBLIC_URL=https://{{ public_domain }}
|
|
- TZ=Europe/Amsterdam
|
|
networks:
|
|
meet.jitsi:
|
|
aliases:
|
|
- xmpp.meet.jitsi
|
|
|
|
jicofo:
|
|
image: jitsi/jicofo:stable-8218
|
|
container_name: jitsi-focus
|
|
restart: unless-stopped
|
|
volumes:
|
|
- {{ data_dir }}/jicofo:/config:Z
|
|
environment:
|
|
- AUTH_TYPE=internal
|
|
- ENABLE_AUTH=1
|
|
- JICOFO_AUTH_PASSWORD={{ jicofo_auth_password }}
|
|
- SENTRY_DSN=0
|
|
- TZ=Europe/Amsterdam
|
|
depends_on:
|
|
- prosody
|
|
networks:
|
|
meet.jitsi:
|
|
|
|
jvb:
|
|
image: jitsi/jvb:stable-8218
|
|
container_name: jitsi-videobridge
|
|
restart: unless-stopped
|
|
ports:
|
|
- '{{ jitsi_videobridge_port }}:{{ jitsi_videobridge_port }}/udp'
|
|
volumes:
|
|
- {{ data_dir }}/jvb:/config:Z
|
|
environment:
|
|
- JVB_ADVERTISE_IPS={{ jvb_advertise_ips }}
|
|
- JVB_AUTH_PASSWORD={{ jvb_auth_password }}
|
|
- JVB_PORT={{ jitsi_videobridge_port }}
|
|
- PUBLIC_URL=https://{{ public_domain }}
|
|
- SENTRY_DSN=0
|
|
- COLIBRI_REST_ENABLED=0
|
|
- TZ=Europe/Amsterdam
|
|
depends_on:
|
|
- prosody
|
|
networks:
|
|
meet.jitsi:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.udp.routers.jitsi-videobridge.rule=HostSNI(`*`)
|
|
- traefik.udp.routers.jitsi-videobridge.entrypoints=video
|
|
- traefik.udp.routers.jitsi-videobridge.service=jitsi-videobridge
|
|
- traefik.udp.services.jitsi-videobridge.loadbalancer.server.port={{ jitsi_videobridge_port }}
|
|
|
|
networks:
|
|
meet.jitsi:
|
|
traefik:
|
|
external: true
|