services:
  webrtc-sfu:
    environment:
      MS_WORKERS: "1"
      MS_ENABLE_IPV6: "false"
      MS_WEBRTC_LISTEN_IPS: >-
        [{"ip":"0.0.0.0","announcedIp":"${EXTERNAL_IPv4}"}]
{% if BBB_COTURN_ENABLED | bool %}
  coturn:
    ports:
      - "{{ BBB_TURN_PORT }}:{{ BBB_TURN_PORT }}/udp"
      - "{{ BBB_TURN_PORT }}:{{ BBB_TURN_PORT }}/tcp"
      - "{{ BBB_STUN_PORT }}:{{ BBB_STUN_PORT }}/udp"
      - "{{ BBB_STUN_PORT }}:{{ BBB_STUN_PORT }}/tcp"
      - "{{ BBB_RELAY_PORT_RANGE }}/udp"
    command: >-
      --use-auth-secret
      --static-auth-secret=${TURN_SECRET}
      --lt-cred-mech
      --realm=${DOMAIN}
      --fingerprint
      --no-multicast-peers
      --no-cli
      --min-port={{ BBB_RELAY_PORT_START }}
      --max-port={{ BBB_RELAY_PORT_END }}
      --external-ip=${EXTERNAL_IPv4}
      {% if BBB_IP6_ENABLED %}--external-ip=${EXTERNAL_IPv6}{% endif %}
      --cert=${COTURN_TLS_CERT_PATH}
      --pkey=${COTURN_TLS_KEY_PATH}
{% endif %}
{% if BBB_COLLABORA_ENABLED | bool %}
  bbb-web:
    depends_on:
      - redis
      - etherpad
      - bbb-pads
  etherpad:
    depends_on:
      - redis
{% endif %}
