126 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# documentation: https://jitsi.github.io/handbook/docs/intro
 | 
						|
# slogan: World's easiest way to add meetings to your apps
 | 
						|
# logo: svgs/jitsi.svg
 | 
						|
# tags: video, conferencing, meetings, communication, open-source
 | 
						|
 | 
						|
services:
 | 
						|
  jitsi-web:
 | 
						|
    image: "jitsi/web:${JITSI_IMAGE_VERSION:-unstable}"
 | 
						|
    container_name: jitsi-web
 | 
						|
    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_FQDN_JITSI
 | 
						|
      - PUBLIC_URL=$SERVICE_FQDN_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
 | 
						|
    networks:
 | 
						|
      meet.jitsi:
 | 
						|
        aliases:
 | 
						|
          - meet.jitsi
 | 
						|
    depends_on:
 | 
						|
      - jvb
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD", "curl", "-f", "http://localhost"]
 | 
						|
      interval: 2s
 | 
						|
      timeout: 10s
 | 
						|
      retries: 15
 | 
						|
 | 
						|
  prosody:
 | 
						|
    image: "jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable}"
 | 
						|
    expose:
 | 
						|
      - '5222'
 | 
						|
      - '5347'
 | 
						|
      - '5280'
 | 
						|
    container_name: jitsi-xmpp
 | 
						|
    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
 | 
						|
      - PUBLIC_URL=$SERVICE_FQDN_JITSI
 | 
						|
      - TZ
 | 
						|
    networks:
 | 
						|
      meet.jitsi:
 | 
						|
        aliases:
 | 
						|
          - xmpp.meet.jitsi
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD", "curl", "-f", "http://localhost:5280/http-bind"]
 | 
						|
      interval: 2s
 | 
						|
      timeout: 10s
 | 
						|
      retries: 15
 | 
						|
 | 
						|
  jicofo:
 | 
						|
    image: "jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable}"
 | 
						|
    container_name: jitsi-jicofo
 | 
						|
    restart: unless-stopped
 | 
						|
    volumes:
 | 
						|
      - ~/.jitsi-meet-cfg/jicofo:/config:Z
 | 
						|
    environment:
 | 
						|
      - XMPP_SERVER=prosody
 | 
						|
      - JICOFO_AUTH_PASSWORD
 | 
						|
      - TZ
 | 
						|
      - JICOFO_ENABLE_HEALTH_CHECKS=1
 | 
						|
    depends_on:
 | 
						|
      - prosody
 | 
						|
    networks:
 | 
						|
      meet.jitsi:
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD", "curl", "-f", "http://localhost:8888/about/health"]
 | 
						|
      interval: 2s
 | 
						|
      timeout: 10s
 | 
						|
      retries: 15
 | 
						|
 | 
						|
  jvb:
 | 
						|
    image: "jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable}"
 | 
						|
    container_name: jitsi-jvb
 | 
						|
    restart: unless-stopped
 | 
						|
    expose:
 | 
						|
      - '10000:10000/udp'
 | 
						|
      - '8080:8080'
 | 
						|
      - '10000'
 | 
						|
    volumes:
 | 
						|
      - ~/.jitsi-meet-cfg/jvb:/config:Z
 | 
						|
    environment:
 | 
						|
      - JVB_ADVERTISE_IPS
 | 
						|
      - JVB_AUTH_PASSWORD
 | 
						|
      - PUBLIC_URL=$SERVICE_FQDN_JITSI
 | 
						|
      - TZ
 | 
						|
      - XMPP_SERVER=prosody
 | 
						|
    depends_on:
 | 
						|
      - prosody
 | 
						|
    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
 | 
						|
      timeout: 10s
 | 
						|
      retries: 15
 | 
						|
 | 
						|
networks:
 | 
						|
  meet.jitsi:
 | 
						|
 | 
						|
volumes:
 | 
						|
  jitsi-web:
 | 
						|
  jitsi-xmpp:
 | 
						|
  jitsi-jicofo:
 | 
						|
  jitsi-jvb:
 |