92 lines
3.1 KiB
YAML
92 lines
3.1 KiB
YAML
# {{ ansible_managed }}
|
|
version: '3.5'
|
|
|
|
services:
|
|
# Frontend
|
|
web:
|
|
image: jitsi/web:{{ docker_jitsimeet_version }}
|
|
restart: always
|
|
volumes:
|
|
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/web:/config
|
|
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/web/crontabs:/var/spool/cron/crontabs
|
|
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/transcripts:/usr/share/jitsi-meet/transcripts
|
|
environment:
|
|
- PUBLIC_URL=https://{{ docker_jitsimeet_fqdn }}
|
|
- JICOFO_AUTH_PASSWORD={{ docker_jitsimeet_jicofo_auth_password }}
|
|
{% if docker_jitsimeet_etherpad_public_url is defined %}
|
|
- ETHERPAD_PUBLIC_URL={{ docker_jitsimeet_etherpad_public_url }}
|
|
{% endif %}
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=traefik"
|
|
- "traefik.http.routers.{{ docker_jitsimeet_service_id }}.entrypoints=web"
|
|
- "traefik.http.routers.{{ docker_jitsimeet_service_id }}.rule=Host(`{{ docker_jitsimeet_fqdn }}`)"
|
|
- "traefik.http.services.{{ docker_jitsimeet_service_id }}.loadbalancer.server.port=80"
|
|
networks:
|
|
- jitsimeet
|
|
- traefik
|
|
|
|
# XMPP server
|
|
prosody:
|
|
image: jitsi/prosody:{{ docker_jitsimeet_version }}
|
|
restart: always
|
|
expose:
|
|
- '5222'
|
|
- '5347'
|
|
- '5280'
|
|
volumes:
|
|
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/prosody/config:/config
|
|
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/prosody/prosody-plugins-custom:/prosody-plugins-custom
|
|
environment:
|
|
- PUBLIC_URL=https://{{ docker_jitsimeet_fqdn }}
|
|
- JICOFO_AUTH_PASSWORD={{ docker_jitsimeet_jicofo_auth_password }}
|
|
- JVB_AUTH_PASSWORD={{ docker_jitsimeet_jvb_auth_password }}
|
|
{% if docker_jitsimeet_turnserver_fqdn is defined %}
|
|
- TURN_CREDENTIALS={{ docker_jitsimeet_turnserver_credentials }}
|
|
- TURN_HOST={{ docker_jitsimeet_turnserver_fqdn }}
|
|
- TURN_PORT={{ docker_jitsimeet_turnserver_port }}
|
|
- TURN_TRANSPORT={{ docker_jitsimeet_turnserver_transport }}
|
|
{% endif %}
|
|
networks:
|
|
jitsimeet:
|
|
aliases:
|
|
- xmpp.meet.jitsi
|
|
|
|
# Focus component
|
|
jicofo:
|
|
image: jitsi/jicofo:{{ docker_jitsimeet_version }}
|
|
restart: always
|
|
volumes:
|
|
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/jicofo:/config
|
|
environment:
|
|
- JICOFO_AUTH_PASSWORD={{ docker_jitsimeet_jicofo_auth_password }}
|
|
depends_on:
|
|
- prosody
|
|
networks:
|
|
- jitsimeet
|
|
|
|
# Video bridge
|
|
jvb:
|
|
image: jitsi/jvb:{{ docker_jitsimeet_version }}
|
|
restart: always
|
|
ports:
|
|
- '10000:10000/udp'
|
|
# - '127.0.0.1:8080:8080'
|
|
volumes:
|
|
- {{ docker_jitsimeet_data_dir }}/{{ docker_jitsimeet_service_id }}/jvb:/config
|
|
environment:
|
|
- PUBLIC_URL=https://{{ docker_jitsimeet_fqdn }}
|
|
- DOCKER_HOST_ADDRESS={{ docker_jitsimeet_jvb_host_address }}
|
|
- JVB_AUTH_PASSWORD={{ docker_jitsimeet_jvb_auth_password }}
|
|
depends_on:
|
|
- prosody
|
|
networks:
|
|
- jitsimeet
|
|
- jitsivideo
|
|
|
|
networks:
|
|
traefik:
|
|
external: true
|
|
jitsimeet:
|
|
internal: true
|
|
jitsivideo:
|