forked from MIR/bigbluebutton
562 lines
17 KiB
YAML
562 lines
17 KiB
YAML
---
|
|
version: '3.8'
|
|
|
|
services:
|
|
bbb-web:
|
|
image: alangecker/bbb-docker-web:v3.0.19
|
|
depends_on:
|
|
- redis
|
|
- etherpad
|
|
- bbb-pads
|
|
- collabora
|
|
# healthcheck:
|
|
# test: wget --no-proxy --no-verbose --tries=1 --spider http://10.7.7.2:8090/bigbluebutton/api || exit 1
|
|
# start_period: 2m
|
|
environment:
|
|
DEV_MODE: ${DEV_MODE:-}
|
|
IGNORE_TLS_CERT_ERRORS: ${IGNORE_TLS_CERT_ERRORS:-true}
|
|
DOMAIN: ${DOMAIN}
|
|
ENABLE_RECORDING: ${ENABLE_RECORDING:-false}
|
|
WELCOME_MESSAGE: ${WELCOME_MESSAGE:-}
|
|
WELCOME_FOOTER: ${WELCOME_FOOTER}
|
|
STUN_SERVER: stun:${STUN_IP}:${STUN_PORT}
|
|
ENABLE_HTTPS_PROXY: ${ENABLE_HTTPS_PROXY:-false}
|
|
# SHARED_SECRET is set via entrypoint.bbb-web.sh
|
|
# TURN_SECRET is set via entrypoint.bbb-web.sh
|
|
ENABLE_LEARNING_DASHBOARD: ${ENABLE_LEARNING_DASHBOARD:-true}
|
|
COLLABORA_URL: ${COLLABORA_URL:-https://collabora:9980/cool}
|
|
# NUMBER_OF_BACKEND_NODEJS_PROCESSES: 2 # look for containers?
|
|
configs:
|
|
- source: entrypoint_bbbweb
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
secrets:
|
|
- shared_secret
|
|
- turn_secret
|
|
volumes:
|
|
- bigbluebutton:/var/bigbluebutton
|
|
- vol-freeswitch:/var/freeswitch/meetings
|
|
networks:
|
|
- internal
|
|
|
|
# freeswitch (audio input streaming and telco dial-in support)
|
|
freeswitch:
|
|
image: alangecker/bbb-docker-freeswitch:v1.10.12-v3.0.19
|
|
deploy:
|
|
replicas: 1
|
|
endpoint_mode: dnsrr
|
|
cap_add:
|
|
- IPC_LOCK
|
|
- NET_ADMIN
|
|
- NET_RAW
|
|
- NET_BROADCAST
|
|
- SYS_NICE
|
|
- SYS_RESOURCE
|
|
environment:
|
|
DOMAIN: ${DOMAIN}
|
|
EXTERNAL_IPv4: ${EXTERNAL_IPv4}
|
|
# EXTERNAL_IPv6: ${EXTERNAL_IPv6:-::1}
|
|
SIP_IP_ALLOWLIST: ${SIP_IP_ALLOWLIST:-}
|
|
DISABLE_SOUND_MUTED: ${DISABLE_SOUND_MUTED:-false}
|
|
DISABLE_SOUND_ALONE: ${DISABLE_SOUND_ALONE:-false}
|
|
SOUNDS_LANGUAGE: ${SOUNDS_LANGUAGE:-en-us-callie}
|
|
# ESL_PASSWORD is set via entrypoint.freeswitch.sh
|
|
configs:
|
|
- source: entrypoint_freeswitch
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
secrets:
|
|
- fsesl_password
|
|
volumes:
|
|
# - ./conf/sip_profiles:/etc/freeswitch/sip_profiles/external
|
|
# - ./conf/dialplan_public:/etc/freeswitch/dialplan/public_docker
|
|
- vol-freeswitch:/var/freeswitch/meetings
|
|
# network_mode: host
|
|
networks:
|
|
- internal
|
|
logging:
|
|
# reduce logs to a minimum, so `docker compose logs -f` still works
|
|
driver: "local"
|
|
options:
|
|
max-size: "10k"
|
|
max-file: "1"
|
|
compress: "false"
|
|
|
|
# nginx (webserver gateway for a bunch of things)
|
|
nginx:
|
|
image: alangecker/bbb-docker-nginx:v3.0.19-v5.4.3-1.29
|
|
volumes:
|
|
- bigbluebutton:/var/bigbluebutton
|
|
tmpfs:
|
|
- /tmp
|
|
configs:
|
|
- source: nginx_conf
|
|
target: /etc/nginx/nginx.conf
|
|
mode: 0555
|
|
# - source: beg_conf
|
|
# target: /etc/nginx/bbb/bbb-exporter.nginx
|
|
# mode: 0555
|
|
- source: bhdn_conf # used to be in dev mode
|
|
target: /etc/nginx/bbb/bbb-html5.nginx
|
|
mode: 0555
|
|
- source: wn_conf
|
|
target: /etc/nginx/bbb/webhooks.nginx
|
|
mode: 0555
|
|
- source: wsn_conf
|
|
target: /etc/nginx/bbb/webrtc-sfu.nginx
|
|
mode: 0555
|
|
- source: pres_conf
|
|
target: /www/default.pdf
|
|
mode: 0555
|
|
- source: demo_conf
|
|
target: /etc/nginx/bbb/demo.nginx
|
|
mode: 0555
|
|
networks:
|
|
- proxy
|
|
- internal
|
|
deploy:
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=proxy"
|
|
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=48087"
|
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
|
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
|
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.scheme=https"
|
|
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.permanent=true"
|
|
# extra_hosts:
|
|
# - "host.docker.internal:10.7.7.1"
|
|
# - "bbb-web:10.7.7.2"
|
|
# - "etherpad:10.7.7.4"
|
|
# - "webrtc-sfu:10.7.7.1"
|
|
# - "greenlight:10.7.7.21"
|
|
# - "bbb-graphql-server:10.7.7.31"
|
|
# - "bbb-graphql-middleware:10.7.7.32"
|
|
|
|
# etherpad (collaborative notepad)
|
|
etherpad:
|
|
image: alangecker/bbb-docker-etherpad:2.4.2-s8328b77-p88f3f6b
|
|
depends_on:
|
|
- redis
|
|
- collabora
|
|
environment:
|
|
COLLABORA_URL: ${COLLABORA_URL:-https://collabora:9980/cool}
|
|
# ETHERPAD_API_KEY is set via entrypoint
|
|
configs:
|
|
- source: entrypoint_etherpad
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
secrets:
|
|
- etherpad_api_key
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
networks:
|
|
- internal
|
|
|
|
# bbb-pads (bbb etherpad integration)
|
|
bbb-pads:
|
|
image: alangecker/bbb-docker-pads:v1.5.6
|
|
depends_on:
|
|
- redis
|
|
- etherpad
|
|
# environment:
|
|
# ETHERPAD_API_KEY is set via entrypoint
|
|
configs:
|
|
- source: entrypoint_bbbpads
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
secrets:
|
|
- etherpad_api_key
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
networks:
|
|
- internal
|
|
|
|
# redis (caching)
|
|
redis:
|
|
image: redis:8.4-alpine
|
|
#healthcheck:
|
|
# test: ["CMD", "redis-cli", "ping"]
|
|
# interval: 1s
|
|
# timeout: 3s
|
|
# retries: 30
|
|
networks:
|
|
- internal
|
|
|
|
bbb-export-annotations:
|
|
image: alangecker/bbb-docker-bbb-export-annotations:v3.0.19
|
|
depends_on:
|
|
- redis
|
|
- etherpad
|
|
- bbb-pads
|
|
networks:
|
|
# need connections to:
|
|
# https://github.com/bigbluebutton/bigbluebutton/blob/v2.7.0/bbb-export-annotations/config/settings.json
|
|
# "bbbWebAPI": "http://127.0.0.1:8090", -> bbb-web
|
|
# "bbbPadsAPI": "http://127.0.0.1:9002", -> bbb-pads
|
|
- internal
|
|
volumes:
|
|
- bigbluebutton:/var/bigbluebutton
|
|
tmpfs:
|
|
- /tmp
|
|
|
|
# webrtc-sfu (webrtc controller for negotiation and media stream)
|
|
webrtc-sfu:
|
|
image: alangecker/bbb-docker-webrtc-sfu:v2.21.2
|
|
depends_on:
|
|
- redis
|
|
- freeswitch
|
|
ports:
|
|
# mediasoup UDP port range — must match mediasoup.worker.rtcMinPort/rtcMaxPort in webrtc-sfu-config.yaml
|
|
- "24577-24676:24577-24676/udp"
|
|
environment:
|
|
# ESL_PASSWORD is set via entrypoint.webrtc-sfu.sh
|
|
# ip must be 0.0.0.0 (container can't bind to external host IP)
|
|
MS_WEBRTC_LISTEN_IPS: '[{"ip":"${EXTERNAL_IPv4}", "announcedIp":"${EXTERNAL_IPv4}"}]'
|
|
configs:
|
|
- source: entrypoint_webrtcsfu
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
- source: ws_conf
|
|
target: /etc/bigbluebutton/bbb-webrtc-sfu/production.yml
|
|
mode: 0555
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
volumes:
|
|
- vol-mediasoup:/var/mediasoup
|
|
tmpfs:
|
|
- /var/log/bbb-webrtc-sfu
|
|
secrets:
|
|
- fsesl_password
|
|
# network_mode: host would be needed for mediasoup UDP to work from outside;
|
|
# keeping on overlay network for now so other services can reach it by name.
|
|
#security_opt:
|
|
# - seccomp:unconfined # allow io_uring access for mediasoup
|
|
ulimits:
|
|
memlock: -1 # allow io_uring_register_buffers to allocate enough ram
|
|
networks:
|
|
- internal
|
|
|
|
|
|
# fsesl-akka (bbb freeswitch integration)
|
|
fsesl-akka:
|
|
image: alangecker/bbb-docker-fsesl-akka:v3.0.19
|
|
depends_on:
|
|
- redis
|
|
- freeswitch
|
|
# environment:
|
|
# FSESL_PASSWORD is set via entrypoint
|
|
configs:
|
|
- source: entrypoint_fseslakka
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
secrets:
|
|
- fsesl_password
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
networks:
|
|
- internal
|
|
|
|
# apps-akka (seems to be an bbb app integration endpoint)
|
|
apps-akka:
|
|
image: alangecker/bbb-docker-apps-akka:v3.0.19
|
|
depends_on:
|
|
- redis
|
|
environment:
|
|
DOMAIN: ${DOMAIN}
|
|
# SHARED_SECRET is set via entrypoint
|
|
volumes:
|
|
- vol-freeswitch:/var/freeswitch/meetings
|
|
configs:
|
|
- source: entrypoint_appsakka
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
- source: bbbhtml5_conf
|
|
target: /etc/bigbluebutton/bbb-html5.yml
|
|
mode: 0555
|
|
- source: aa_conf
|
|
target: /etc/bigbluebutton/bbb-apps-akka.conf.tmpl
|
|
mode: 0555
|
|
secrets:
|
|
- shared_secret
|
|
- postgres_password
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
networks:
|
|
- internal
|
|
|
|
bbb-graphql-server:
|
|
image: alangecker/bbb-docker-graphql-server:v3.0.19
|
|
depends_on:
|
|
- postgres
|
|
- bbb-web
|
|
- apps-akka
|
|
- bbb-graphql-actions
|
|
secrets:
|
|
- postgres_password
|
|
- hasura_admin_secret
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
# POSTGRES_PASSWORD and HASURA_GRAPHQL_ADMIN_SECRET are set via entrypoint
|
|
configs:
|
|
- source: entrypoint_graphqlserver
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8085/healthz"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
networks:
|
|
- internal
|
|
|
|
bbb-graphql-actions:
|
|
image: alangecker/bbb-docker-graphql-actions:v3.0.19
|
|
depends_on:
|
|
- redis
|
|
- apps-akka
|
|
networks:
|
|
- internal
|
|
|
|
bbb-graphql-middleware:
|
|
image: alangecker/bbb-docker-graphql-middleware:v3.0.19
|
|
depends_on:
|
|
- bbb-graphql-server
|
|
- bbb-graphql-actions
|
|
- bbb-web
|
|
- redis
|
|
networks:
|
|
- internal
|
|
# extra_hosts:
|
|
# - "nginx:10.7.7.1"
|
|
|
|
collabora:
|
|
image: collabora/code:latest
|
|
tmpfs:
|
|
- /tmp
|
|
networks:
|
|
- internal
|
|
# disable logging (way to verbose)
|
|
logging:
|
|
driver: none
|
|
|
|
# periodic (runs a freeswitch sync and cleans up recordings, has entrypoint but needs no custom things afaik)
|
|
periodic:
|
|
image: alangecker/bbb-docker-periodic:v3.0.0
|
|
depends_on:
|
|
- postgres
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock # not sure what prupose this has?
|
|
- bigbluebutton:/var/bigbluebutton # access bbb data
|
|
- vol-mediasoup:/var/mediasoup # not sure what this is?
|
|
tmpfs:
|
|
- /var/log/bigbluebutton
|
|
environment:
|
|
ENABLE_RECORDING: ${ENABLE_RECORDING-false} # set to false for now
|
|
REMOVE_OLD_RECORDING: ${REMOVE_OLD_RECORDING}
|
|
RECORDING_MAX_AGE_DAYS: ${RECORDING_MAX_AGE_DAYS}
|
|
networks:
|
|
- internal
|
|
|
|
bbb-webrtc-recorder:
|
|
image: alangecker/bbb-docker-webrtc-recorder:v0.13.1
|
|
depends_on:
|
|
- redis
|
|
volumes:
|
|
- vol-webrtc-recorder:/var/lib/bbb-webrtc-recorder
|
|
networks:
|
|
- internal
|
|
|
|
# coturn (TURN server — must use host networking for UDP relay to reach clients)
|
|
coturn:
|
|
image: coturn/coturn:4.8-alpine
|
|
command:
|
|
- "--external-ip=${EXTERNAL_IPv4}/${EXTERNAL_IPv4}"
|
|
- "--external-ip=${EXTERNAL_IPv6:-::1}/${EXTERNAL_IPv6:-::1}"
|
|
- "--allowed-peer-ip=${EXTERNAL_IPv4}"
|
|
- "--relay-ip=${EXTERNAL_IPv4}"
|
|
- "--relay-ip=${EXTERNAL_IPv6:-::1}"
|
|
configs:
|
|
- source: entrypoint_coturn
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
- source: turnserver_conf
|
|
target: /etc/coturn/turnserver.conf
|
|
secrets:
|
|
- turn_secret
|
|
environment:
|
|
ENABLE_HTTPS_PROXY: "false"
|
|
# volumes:
|
|
# - "/var/home/thebastard/.abra/recipes/bigbluebutton/cert/cert.pem:/tmp/cert.pem:ro"
|
|
# - "/var/home/thebastard/.abra/recipes/bigbluebutton/cert/key.pem:/tmp/key.pem:ro"
|
|
# network_mode: host <- mine has this commented out
|
|
network_mode: host
|
|
user: root
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
|
|
# greenlight
|
|
greenlight:
|
|
image: bigbluebutton/greenlight:v3.6.3
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
environment:
|
|
# DATABASE_URL is being set by entrypoint.greenlight.sh
|
|
REDIS_URL: redis://redis:6379
|
|
BIGBLUEBUTTON_ENDPOINT: https://${DOMAIN}/bigbluebutton/api
|
|
# BIGBLUEBUTTON_SECRET is being set by entrypoint.greenlight.sh
|
|
# SECRET_KEY_BASE is being set by entrypoint.greenlight.sh
|
|
RELATIVE_URL_ROOT: /
|
|
volumes:
|
|
- greenlight_data:/usr/src/app/storage
|
|
configs:
|
|
- source: entrypoint_greenlight
|
|
target: /usr/local/bin/docker-entrypoint.sh
|
|
mode: 0555
|
|
secrets:
|
|
- postgres_password
|
|
- shared_secret
|
|
- rails_secret
|
|
entrypoint: /usr/local/bin/docker-entrypoint.sh
|
|
networks:
|
|
- internal
|
|
|
|
# postgres for greenlight
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_MULTIPLE_DATABASES: bbb_graphql,hasura_app,greenlight
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
volumes:
|
|
- "postgres_data:/var/lib/postgresql/data"
|
|
configs:
|
|
- source: initdb_sh
|
|
target: /docker-entrypoint-initdb.d/initdb.sh
|
|
mode: 0555
|
|
secrets:
|
|
- postgres_password
|
|
networks:
|
|
- internal
|
|
|
|
netshoot:
|
|
image: nicolaka/netshoot
|
|
entrypoint: /bin/bash
|
|
command: -c "sleep infinity"
|
|
networks:
|
|
- internal
|
|
|
|
volumes:
|
|
greenlight_data:
|
|
postgres_data:
|
|
bigbluebutton:
|
|
vol-mediasoup:
|
|
vol-freeswitch:
|
|
vol-webrtc-recorder:
|
|
|
|
configs:
|
|
entrypoint_greenlight:
|
|
name: ${STACK_NAME}_entrypoint_greenlight_${ENTRYPOINT_GREENLIGHT_VERSION}
|
|
file: ./entrypoint.greenlight.sh
|
|
turnserver_conf:
|
|
name: ${STACK_NAME}_turnserver_conf_${TURNSERVER_CONF_VERSION}
|
|
file: ./turnserver.conf
|
|
bbbhtml5_conf:
|
|
name: ${STACK_NAME}_bbbhtml5_conf_${BBBHTML5_CONF_VERSION}
|
|
file: ./bbb-html5.yml
|
|
entrypoint_coturn:
|
|
name: ${STACK_NAME}_entrypoint_coturn_${ENTRYPOINT_COTURN_VERSION}
|
|
file: ./entrypoint.coturn.sh
|
|
entrypoint_appsakka:
|
|
name: ${STACK_NAME}_entrypoint_appsakka_${ENTRYPOINT_APPSAKKA_VERSION}
|
|
file: ./entrypoint.apps-akka.sh
|
|
entrypoint_fseslakka:
|
|
name: ${STACK_NAME}_entrypoint_fseslakka_${ENTRYPOINT_FSESLAKKA_VERSION}
|
|
file: ./entrypoint.fsesl-akka.sh
|
|
entrypoint_webrtcsfu:
|
|
name: ${STACK_NAME}_entrypoint_webrtcsfu_${ENTRYPOINT_WEBRTCSFU_VERSION}
|
|
file: ./entrypoint.webrtc-sfu.sh
|
|
entrypoint_graphqlserver:
|
|
name: ${STACK_NAME}_entrypoint_graphqlserver_${ENTRYPOINT_GRAPHQLSERVER_VERSION}
|
|
file: ./entrypoint.bbb-graphql-server.sh
|
|
initdb_sh:
|
|
name: ${STACK_NAME}_initdb_sh_${INITDB_SH_VERSION}
|
|
file: ./mod/initdb.sh
|
|
entrypoint_bbbpads:
|
|
name: ${STACK_NAME}_entrypoint_bbbpads_${ENTRYPOINT_BBBPADS_VERSION}
|
|
file: ./entrypoint.bbb-pads.sh
|
|
entrypoint_etherpad:
|
|
name: ${STACK_NAME}_entrypoint_etherpad_${ENTRYPOINT_ETHERPAD_VERSION}
|
|
file: ./entrypoint.etherpad.sh
|
|
entrypoint_freeswitch:
|
|
name: ${STACK_NAME}_entrypoint_freeswitch_${ENTRYPOINT_FREESWITCH_VERSION}
|
|
file: ./entrypoint.freeswitch.sh
|
|
entrypoint_bbbweb:
|
|
name: ${STACK_NAME}_entrypoint_bbbweb_${ENTRYPOINT_BBBWEB_VERSION}
|
|
file: ./entrypoint.bbb-web.sh
|
|
aa_conf:
|
|
name: ${STACK_NAME}_aa_conf_${AA_CONF_VERSION}
|
|
file: ./mod/bbb-apps-akka.conf
|
|
beg_conf:
|
|
name: ${STACK_NAME}_beg_conf_${BEG_CONF_VERSION}
|
|
file: ./mod/bbb-exporter.nginx
|
|
bhdn_conf:
|
|
name: ${STACK_NAME}_bhdn_conf_${BHDN_CONF_VERSION}
|
|
file: ./mod/nginx/bbb/bbb-html5.nginx
|
|
brf_conf:
|
|
name: ${STACK_NAME}_brf_conf_${BRF_CONF_VERSION}
|
|
file: ./mod/bbb-resync-freeswitch
|
|
nginx_conf:
|
|
name: ${STACK_NAME}_nginx_conf_${NGINX_CONF_VERSION}
|
|
file: ./mod/nginx.conf
|
|
wn_conf:
|
|
name: ${STACK_NAME}_wn_conf_${WN_CONF_VERSION}
|
|
file: ./mod/webhooks.nginx
|
|
wsn_conf:
|
|
name: ${STACK_NAME}_wsn_conf_${WSN_CONF_VERSION}
|
|
file: ./mod/webrtc-sfu.nginx
|
|
ws_conf:
|
|
name: ${STACK_NAME}_ws_conf_${WS_CONF_VERSION}
|
|
file: ./mod/webrtc-sfu-config.yaml
|
|
demo_conf:
|
|
name: ${STACK_NAME}_demo_conf_${DEMO_CONF_VERSION}
|
|
file: ./mod/nginx/bbb/demo.nginx
|
|
pres_conf: # the default presentation for bbb nginx
|
|
name: ${STACK_NAME}_pres_conf_${PRES_CONF_VERSION}
|
|
file: ./mod/nginx/default.pdf
|
|
freeswitch_ex:
|
|
name: ${STACK_NAME}_freeswitch_ex_${FREESWITCH_EX_VERSION}
|
|
file: ./mod/freeswitch/conf/sip_profiles/external.xml
|
|
|
|
secrets:
|
|
postgres_password:
|
|
external: true
|
|
name: ${STACK_NAME}_postgres_password_${SECRET_POSTGRES_PASSWORD_VERSION}
|
|
shared_secret:
|
|
external: true
|
|
name: ${STACK_NAME}_shared_secret_${SECRET_SHARED_SECRET_VERSION}
|
|
rails_secret:
|
|
external: true
|
|
name: ${STACK_NAME}_rails_secret_${SECRET_RAILS_SECRET_VERSION}
|
|
turn_secret:
|
|
external: true
|
|
name: ${STACK_NAME}_turn_secret_${SECRET_TURN_SECRET_VERSION}
|
|
fsesl_password:
|
|
external: true
|
|
name: ${STACK_NAME}_fsesl_password_${SECRET_FSESL_PASSWORD_VERSION}
|
|
etherpad_api_key:
|
|
external: true
|
|
name: ${STACK_NAME}_etherpad_api_key_${ETHERPAD_API_KEY_VERSION}
|
|
hasura_admin_secret:
|
|
external: true
|
|
name: ${STACK_NAME}_hasura_admin_secret_${SECRET_HASURA_ADMIN_SECRET_VERSION}
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
internal: |