ansible-role-docker_jitsimeet/templates/docker-compose.yml

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: