services: {% set service_name = 'bbb-web' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('container_extra_hosts') | indent(4) }} {% if BBB_COLLABORA_ENABLED | bool %} {{ lookup('depends_on', ['redis']) }} {% endif %} {% set service_name = 'freeswitch' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_volumes', service_name) | indent(4) }} {% set service_name = 'nginx' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_volumes', service_name) | indent(4) }} {% set service_name = 'bbb-shared-notes-server' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('compose_restart') }} {% set service_name = 'bbb-export-annotations' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_volumes', service_name) | indent(4) }} {% set service_name = 'fsesl-akka' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {% set service_name = 'apps-akka' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_volumes', service_name) | indent(4) }} environment: JAVA_OPTS: "-Dpostgres.transactionIsolation=READ_COMMITTED" {% set service_name = 'bbb-graphql-server' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_healthcheck', service_name) | indent(4) }} {% set service_name = 'bbb-graphql-actions' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {% set service_name = 'bbb-graphql-middleware' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {% set service_name = 'periodic' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_volumes', service_name) | indent(4) }} {% set service_name = 'redis' %} {{ service_name }}: {{ lookup('container_volumes', service_name) | indent(4) }} {% set service_name = 'postgres' %} {{ service_name }}: {{ lookup('container_volumes', service_name) | indent(4) }} {% if lookup('config', application_id, 'services.prometheus.enabled') | bool %} {% set service_name = 'prometheus-exporter' %} {{ service_name }}: {{ lookup('container_volumes', service_name) | indent(4) }} {% endif %} {% if BBB_GREENLIGHT_ENABLED | bool %} {% set service_name = 'greenlight' %} {{ service_name }}: {{ lookup('container_volumes', service_name) | indent(4) }} environment: URL_HOST: "{{ domain }}" {% endif %} {% if BBB_RECORDING_ENABLED | bool %} {% set service_name = 'recordings' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_volumes', service_name) | indent(4) }} {% set service_name = 'bbb-webrtc-recorder' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {% endif %} {% set service_name = 'webrtc-sfu' %} {{ service_name }}: {{ lookup('container_image', application_id, service_name) }} {{ lookup('container_volumes', service_name) | indent(4) }} environment: MS_WORKERS: "1" MS_ENABLE_IPV6: "{{ BBB_IP6_ENABLED | bool | lower }}" MS_WEBRTC_LISTEN_IPS: >- [{"ip":"0.0.0.0","announcedIp":"${EXTERNAL_IPv4}"}] {% if BBB_COTURN_LOCAL_ENABLED | bool %} {% set service_name = 'coturn' %} {{ service_name }}: {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('container_ports', {'service': 'bigbluebutton', 'protocol': 'stun_turn', 'transport': ['udp', 'tcp'], 'container': 'same'}, {'service': 'bigbluebutton', 'protocol': 'relay', 'transport': 'udp', 'container': 'same', 'publish': 'ephemeral'}) | indent(4) }} command: >- --use-auth-secret --static-auth-secret=${TURN_SECRET} --lt-cred-mech --realm=${DOMAIN} --fingerprint --no-multicast-peers --no-cli --external-ip=${EXTERNAL_IPv4} --min-port={{ BBB_RELAY_PORT_START }} --max-port={{ BBB_RELAY_PORT_END }} {% if BBB_IP6_ENABLED %}--external-ip=${EXTERNAL_IPv6}{% endif %} {% if lookup('tls', application_id, 'enabled') | bool %} --cert=${COTURN_TLS_CERT_PATH} --pkey=${COTURN_TLS_KEY_PATH} {% endif %} {% endif %} {{ lookup('compose_volumes') }}