2021-02-11 15:33:49 +01:00
|
|
|
{{/* if you read this, you can ignore the following lines */}}
|
2023-03-24 23:00:14 +01:00
|
|
|
# auto generated by ./scripts/generate-compose
|
2021-02-11 15:33:49 +01:00
|
|
|
# don't edit this directly.
|
|
|
|
{{/* -------- */}}
|
|
|
|
|
2020-04-09 15:43:58 +02:00
|
|
|
version: '3.6'
|
2020-04-09 08:48:47 +02:00
|
|
|
|
2021-02-24 21:50:27 +01:00
|
|
|
# html5 templates
|
|
|
|
x-html5-backend: &html5backend
|
2022-04-03 23:18:15 +02:00
|
|
|
build:
|
|
|
|
context: mod/html5
|
2023-11-29 22:17:49 +01:00
|
|
|
additional_contexts:
|
|
|
|
- source=./repos/bigbluebutton/bigbluebutton-html5
|
2022-04-03 23:18:15 +02:00
|
|
|
args:
|
2023-11-29 22:17:49 +01:00
|
|
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
|
|
|
TAG_BBB: {{ .Env.TAG_BBB }}
|
|
|
|
image: alangecker/bbb-docker-html5:{{ .Env.TAG_BBB }}
|
2021-02-24 21:50:27 +01:00
|
|
|
restart: unless-stopped
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- mongodb
|
|
|
|
- etherpad
|
|
|
|
environment: &html5backend-env
|
|
|
|
DOMAIN: ${DOMAIN}
|
|
|
|
CLIENT_TITLE: ${CLIENT_TITLE}
|
|
|
|
LISTEN_ONLY_MODE: ${LISTEN_ONLY_MODE:-true}
|
|
|
|
DISABLE_ECHO_TEST: ${DISABLE_ECHO_TEST:-false}
|
|
|
|
AUTO_SHARE_WEBCAM: ${AUTO_SHARE_WEBCAM:-false}
|
|
|
|
DISABLE_VIDEO_PREVIEW: ${DISABLE_VIDEO_PREVIEW:-false}
|
|
|
|
CHAT_ENABLED: ${CHAT_ENABLED:-true}
|
|
|
|
CHAT_START_CLOSED: ${CHAT_START_CLOSED:-false}
|
|
|
|
BREAKOUTROOM_LIMIT: ${BREAKOUTROOM_LIMIT:-8}
|
|
|
|
DEV_MODE: ${DEV_MODE:-}
|
|
|
|
BBB_HTML5_ROLE: backend
|
|
|
|
|
|
|
|
x-html5-frontend: &html5frontend
|
|
|
|
<<: *html5backend
|
|
|
|
volumes:
|
|
|
|
- html5-static:/html5-static:rw
|
|
|
|
environment: &html5frontend-env
|
|
|
|
<<: *html5backend-env
|
|
|
|
BBB_HTML5_ROLE: frontend
|
|
|
|
# =========================
|
|
|
|
|
2019-12-09 04:34:03 +01:00
|
|
|
services:
|
2020-10-28 16:11:21 +01:00
|
|
|
bbb-web:
|
2022-04-03 23:18:15 +02:00
|
|
|
build:
|
|
|
|
context: mod/bbb-web
|
2023-11-29 22:17:49 +01:00
|
|
|
additional_contexts:
|
|
|
|
- src-web=./repos/bigbluebutton/bigbluebutton-web
|
|
|
|
- src-common-message=./repos/bigbluebutton/bbb-common-message
|
|
|
|
- src-common-web=./repos/bigbluebutton/bbb-common-web
|
2022-04-03 23:18:15 +02:00
|
|
|
args:
|
2023-11-29 22:17:49 +01:00
|
|
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
|
|
|
image: alangecker/bbb-docker-web:{{ .Env.TAG_BBB }}
|
2020-05-02 10:28:59 +02:00
|
|
|
restart: unless-stopped
|
2020-04-11 10:43:25 +02:00
|
|
|
depends_on:
|
|
|
|
- redis
|
2021-12-13 17:53:06 +01:00
|
|
|
- etherpad
|
2023-03-21 12:59:59 +01:00
|
|
|
- bbb-pads
|
2021-02-22 16:43:17 +01:00
|
|
|
healthcheck:
|
2021-08-02 17:24:48 +02:00
|
|
|
test: wget --no-proxy --no-verbose --tries=1 --spider http://10.7.7.2:8090/bigbluebutton/api || exit 1
|
2021-02-22 16:43:17 +01:00
|
|
|
start_period: 2m
|
2019-12-09 04:34:03 +01:00
|
|
|
environment:
|
2020-07-22 00:39:28 +02:00
|
|
|
DEV_MODE: ${DEV_MODE:-}
|
2020-04-10 11:29:44 +02:00
|
|
|
DOMAIN: ${DOMAIN}
|
2020-08-15 03:26:33 +02:00
|
|
|
ENABLE_RECORDING: ${ENABLE_RECORDING:-false}
|
2020-04-10 11:29:44 +02:00
|
|
|
SHARED_SECRET: ${SHARED_SECRET}
|
2020-07-18 19:13:29 +02:00
|
|
|
WELCOME_MESSAGE: ${WELCOME_MESSAGE:-}
|
2020-04-10 11:29:44 +02:00
|
|
|
WELCOME_FOOTER: ${WELCOME_FOOTER}
|
2020-05-15 23:21:03 +02:00
|
|
|
STUN_SERVER: stun:${STUN_IP}:${STUN_PORT}
|
2020-06-06 14:39:31 +02:00
|
|
|
TURN_SERVER: ${TURN_SERVER:-}
|
|
|
|
TURN_SECRET: ${TURN_SECRET:-}
|
2021-10-06 13:43:53 +02:00
|
|
|
ENABLE_LEARNING_DASHBOARD: ${ENABLE_LEARNING_DASHBOARD:-true}
|
2021-02-24 21:50:27 +01:00
|
|
|
NUMBER_OF_BACKEND_NODEJS_PROCESSES: {{ .Env.NUMBER_OF_BACKEND_NODEJS_PROCESSES }}
|
2019-12-09 04:34:03 +01:00
|
|
|
volumes:
|
2020-08-27 10:46:16 +02:00
|
|
|
- bigbluebutton:/var/bigbluebutton
|
2020-08-15 03:26:33 +02:00
|
|
|
- vol-freeswitch:/var/freeswitch/meetings
|
2020-05-15 21:13:59 +02:00
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.2
|
2020-04-09 08:48:47 +02:00
|
|
|
|
2021-02-24 21:50:27 +01:00
|
|
|
|
|
|
|
{{ range $i := loop 0 (atoi .Env.NUMBER_OF_BACKEND_NODEJS_PROCESSES) }}
|
|
|
|
html5-backend-{{ add $i 1 }}:
|
|
|
|
<<: *html5backend
|
|
|
|
environment:
|
|
|
|
<<: *html5backend-env
|
|
|
|
INSTANCE_ID: {{ add $i 1 }}
|
|
|
|
PORT: {{ add 4000 $i }}
|
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.{{ add 100 $i }}
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
{{ range $i := loop 0 (atoi .Env.NUMBER_OF_FRONTEND_NODEJS_PROCESSES) }}
|
|
|
|
html5-frontend-{{ add $i 1 }}:
|
|
|
|
<<: *html5frontend
|
|
|
|
environment:
|
|
|
|
<<: *html5frontend-env
|
|
|
|
INSTANCE_ID: {{ add $i 1 }}
|
|
|
|
PORT: {{ add 4100 $i }}
|
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.{{ add 200 $i }}
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
|
2020-05-14 15:21:21 +02:00
|
|
|
freeswitch:
|
2022-04-03 23:18:15 +02:00
|
|
|
container_name: bbb-freeswitch
|
|
|
|
build:
|
|
|
|
context: mod/freeswitch
|
2023-11-29 22:17:49 +01:00
|
|
|
additional_contexts:
|
|
|
|
- freeswitch=./repos/freeswitch/
|
|
|
|
- build-files=./repos/bigbluebutton/build/packages-template/bbb-freeswitch-core/
|
|
|
|
- fs-config=./repos/bigbluebutton/bbb-voice-conference/config/freeswitch/conf/
|
2022-04-03 23:18:15 +02:00
|
|
|
args:
|
2023-11-29 22:17:49 +01:00
|
|
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
|
|
|
image: alangecker/bbb-docker-freeswitch:{{ .Env.TAG_FREESWITCH }}-{{ .Env.TAG_BBB }}
|
2020-06-06 20:06:28 +02:00
|
|
|
restart: unless-stopped
|
2020-05-14 15:21:21 +02:00
|
|
|
cap_add:
|
|
|
|
- IPC_LOCK
|
|
|
|
- NET_ADMIN
|
|
|
|
- NET_RAW
|
|
|
|
- NET_BROADCAST
|
|
|
|
- SYS_NICE
|
|
|
|
- SYS_RESOURCE
|
|
|
|
environment:
|
|
|
|
DOMAIN: ${DOMAIN}
|
2020-07-12 19:15:40 +02:00
|
|
|
EXTERNAL_IPv4: ${EXTERNAL_IPv4}
|
2020-07-13 17:40:55 +02:00
|
|
|
EXTERNAL_IPv6: ${EXTERNAL_IPv6:-::1}
|
|
|
|
SIP_IP_ALLOWLIST: ${SIP_IP_ALLOWLIST:-}
|
2020-07-18 19:12:19 +02:00
|
|
|
DISABLE_SOUND_MUTED: ${DISABLE_SOUND_MUTED:-false}
|
|
|
|
DISABLE_SOUND_ALONE: ${DISABLE_SOUND_ALONE:-false}
|
2020-12-24 02:39:02 +01:00
|
|
|
SOUNDS_LANGUAGE: ${SOUNDS_LANGUAGE:-en-us-callie}
|
2021-03-27 18:48:05 +01:00
|
|
|
ESL_PASSWORD: ${FSESL_PASSWORD:-ClueCon}
|
2020-05-14 15:21:21 +02:00
|
|
|
volumes:
|
|
|
|
- ./conf/sip_profiles:/etc/freeswitch/sip_profiles/external
|
|
|
|
- ./conf/dialplan_public:/etc/freeswitch/dialplan/public_docker
|
2020-08-15 03:26:33 +02:00
|
|
|
- vol-freeswitch:/var/freeswitch/meetings
|
2020-05-14 15:21:21 +02:00
|
|
|
network_mode: host
|
2023-04-03 11:44:21 +02:00
|
|
|
logging:
|
2023-05-07 11:07:09 +02:00
|
|
|
# reduce logs to a minimum, so `docker compose logs -f` still works
|
2023-04-03 11:44:21 +02:00
|
|
|
driver: "local"
|
|
|
|
options:
|
|
|
|
max-size: "10k"
|
|
|
|
max-file: "1"
|
2023-04-04 11:31:11 +02:00
|
|
|
compress: "false"
|
2021-10-17 00:01:07 +02:00
|
|
|
|
2020-04-09 08:48:47 +02:00
|
|
|
nginx:
|
2022-04-03 23:18:15 +02:00
|
|
|
build:
|
|
|
|
context: mod/nginx
|
2023-11-29 22:17:49 +01:00
|
|
|
additional_contexts:
|
|
|
|
- src-learning-dashboard=./repos/bigbluebutton/bbb-learning-dashboard
|
|
|
|
- src-playback=./repos/bbb-playback
|
2022-04-03 23:18:15 +02:00
|
|
|
args:
|
2023-11-29 22:17:49 +01:00
|
|
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
|
|
|
image: alangecker/bbb-docker-nginx:1.23-{{ .Env.TAG_PLAYBACK }}-{{ .Env.TAG_BBB }}
|
2020-05-02 10:28:59 +02:00
|
|
|
restart: unless-stopped
|
2020-04-09 18:15:06 +02:00
|
|
|
depends_on:
|
|
|
|
- etherpad
|
|
|
|
- webrtc-sfu
|
2021-02-24 21:50:27 +01:00
|
|
|
- html5-backend-1
|
2020-04-09 08:48:47 +02:00
|
|
|
volumes:
|
2020-08-27 10:46:16 +02:00
|
|
|
- bigbluebutton:/var/bigbluebutton
|
2020-12-22 00:41:01 +01:00
|
|
|
- html5-static:/html5-static:ro
|
2021-04-17 18:28:00 +02:00
|
|
|
- ${DEFAULT_PRESENTATION:-/dev/null}:/www/default.pdf
|
2020-07-12 19:15:40 +02:00
|
|
|
network_mode: host
|
2020-04-09 08:48:47 +02:00
|
|
|
extra_hosts:
|
|
|
|
- "host.docker.internal:10.7.7.1"
|
2021-04-17 18:24:00 +02:00
|
|
|
- "bbb-web:10.7.7.2"
|
2020-07-12 19:15:40 +02:00
|
|
|
- "etherpad:10.7.7.4"
|
2022-04-17 12:43:46 +02:00
|
|
|
- "webrtc-sfu:10.7.7.1"
|
2020-07-12 19:15:40 +02:00
|
|
|
- "html5:10.7.7.11"
|
2023-03-21 12:58:28 +01:00
|
|
|
- "greenlight:10.7.7.21"
|
2020-04-09 08:48:47 +02:00
|
|
|
|
2020-04-09 15:43:58 +02:00
|
|
|
etherpad:
|
2023-11-29 22:17:49 +01:00
|
|
|
build:
|
|
|
|
context: mod/etherpad
|
|
|
|
additional_contexts:
|
|
|
|
- plugin=./repos/bbb-etherpad-plugin
|
|
|
|
- skin=./repos/bbb-etherpad-skin
|
|
|
|
args:
|
|
|
|
TAG_ETHERPAD: "1.9.1"
|
|
|
|
image: alangecker/bbb-docker-etherpad:1.9.1-s{{ .Env.COMMIT_ETHERPAD_SKIN }}-p{{ .Env.COMMIT_ETHERPAD_PLUGIN }}
|
2020-05-02 10:28:59 +02:00
|
|
|
restart: unless-stopped
|
2020-04-09 18:15:06 +02:00
|
|
|
depends_on:
|
|
|
|
- redis
|
2020-04-09 15:43:58 +02:00
|
|
|
environment:
|
|
|
|
ETHERPAD_API_KEY: ${ETHERPAD_API_KEY}
|
|
|
|
networks:
|
2020-04-12 16:01:57 +02:00
|
|
|
bbb-net:
|
2020-04-09 15:43:58 +02:00
|
|
|
ipv4_address: 10.7.7.4
|
2020-04-09 08:48:47 +02:00
|
|
|
|
2022-04-03 23:28:49 +02:00
|
|
|
bbb-pads:
|
2023-11-29 22:17:49 +01:00
|
|
|
build:
|
|
|
|
context: mod/bbb-pads
|
|
|
|
additional_contexts:
|
|
|
|
- src=./repos/bbb-pads
|
2022-05-08 19:45:59 +02:00
|
|
|
image: alangecker/bbb-docker-pads:{{ .Env.TAG_PADS }}
|
2022-04-03 23:28:49 +02:00
|
|
|
restart: unless-stopped
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- etherpad
|
|
|
|
environment:
|
|
|
|
ETHERPAD_API_KEY: ${ETHERPAD_API_KEY}
|
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.18
|
|
|
|
|
2020-04-09 15:43:58 +02:00
|
|
|
redis:
|
2023-09-12 18:31:01 +02:00
|
|
|
image: redis:7.2-alpine
|
2020-05-02 10:28:59 +02:00
|
|
|
restart: unless-stopped
|
2021-02-17 23:30:48 +01:00
|
|
|
healthcheck:
|
|
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
|
|
interval: 1s
|
|
|
|
timeout: 3s
|
|
|
|
retries: 30
|
2020-04-09 15:43:58 +02:00
|
|
|
networks:
|
2020-04-12 16:01:57 +02:00
|
|
|
bbb-net:
|
2021-10-17 00:01:07 +02:00
|
|
|
ipv4_address: 10.7.7.5
|
2020-04-09 18:13:18 +02:00
|
|
|
|
2020-04-09 18:27:47 +02:00
|
|
|
mongodb:
|
2022-04-03 23:28:49 +02:00
|
|
|
container_name: bbb-mongodb
|
2022-09-19 21:39:41 +02:00
|
|
|
image: mongo:4.4
|
2020-06-06 20:06:28 +02:00
|
|
|
restart: unless-stopped
|
2021-02-24 21:45:25 +01:00
|
|
|
volumes:
|
|
|
|
- ./mod/mongo/mongod.conf:/etc/mongod.conf
|
|
|
|
- ./mod/mongo/init-replica.sh:/docker-entrypoint-initdb.d/init-replica.sh
|
|
|
|
tmpfs:
|
|
|
|
- /data/configdb
|
|
|
|
- /data/db
|
|
|
|
command: mongod --config /etc/mongod.conf --oplogSize 8 --replSet rs0 --noauth
|
2021-02-22 16:34:40 +01:00
|
|
|
healthcheck:
|
|
|
|
test: bash -c "if mongo --eval 'quit(db.runCommand({ ping':' 1 }).ok ? 0 ':' 2)'; then exit 0; fi; exit 1;"
|
2020-04-09 18:27:47 +02:00
|
|
|
networks:
|
2020-04-12 16:01:57 +02:00
|
|
|
bbb-net:
|
2020-04-09 18:27:47 +02:00
|
|
|
ipv4_address: 10.7.7.6
|
|
|
|
|
2022-04-17 12:43:46 +02:00
|
|
|
# TODO: remove as soon as not required anymore by webrtc-sfu
|
2020-04-09 18:13:18 +02:00
|
|
|
kurento:
|
2022-11-04 16:40:14 +01:00
|
|
|
image: kurento/kurento-media-server:6.18
|
2020-05-02 10:28:59 +02:00
|
|
|
restart: unless-stopped
|
2020-04-09 18:15:06 +02:00
|
|
|
network_mode: host
|
2022-05-07 14:26:04 +02:00
|
|
|
volumes:
|
|
|
|
- vol-kurento:/var/kurento
|
2021-10-17 00:01:07 +02:00
|
|
|
|
2020-04-09 18:15:06 +02:00
|
|
|
webrtc-sfu:
|
2022-04-03 23:18:15 +02:00
|
|
|
build:
|
|
|
|
context: mod/webrtc-sfu
|
2023-11-29 22:17:49 +01:00
|
|
|
additional_contexts:
|
|
|
|
- source=./repos/bbb-webrtc-sfu
|
2022-04-03 23:18:15 +02:00
|
|
|
args:
|
2023-11-29 22:17:49 +01:00
|
|
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
2022-05-08 19:45:59 +02:00
|
|
|
image: alangecker/bbb-docker-webrtc-sfu:{{ .Env.TAG_WEBRTC_SFU }}
|
2020-05-02 10:28:59 +02:00
|
|
|
restart: unless-stopped
|
2020-04-09 18:15:06 +02:00
|
|
|
depends_on:
|
|
|
|
- redis
|
2022-04-17 12:43:46 +02:00
|
|
|
- freeswitch
|
2023-09-12 18:31:01 +02:00
|
|
|
- kurento
|
2020-04-09 18:15:06 +02:00
|
|
|
environment:
|
2022-04-17 12:43:46 +02:00
|
|
|
CLIENT_HOST: 10.7.7.1
|
|
|
|
REDIS_HOST: 10.7.7.5
|
|
|
|
FREESWITCH_IP: 10.7.7.1
|
2020-07-12 19:15:40 +02:00
|
|
|
FREESWITCH_SIP_IP: ${EXTERNAL_IPv4}
|
2023-09-12 18:31:01 +02:00
|
|
|
MCS_HOST: 0.0.0.0
|
|
|
|
MCS_ADDRESS: 127.0.0.1
|
2022-04-17 12:43:46 +02:00
|
|
|
ESL_IP: 10.7.7.1
|
2021-04-30 20:20:40 +02:00
|
|
|
ESL_PASSWORD: ${FSESL_PASSWORD:-ClueCon}
|
2022-04-17 12:43:46 +02:00
|
|
|
# TODO: add mediasoup IPv6
|
|
|
|
# TODO: can listen to 0.0.0.0 for nat support? https://github.com/versatica/mediasoup/issues/487
|
2022-04-17 13:20:41 +02:00
|
|
|
{{ if .Env.EXTERNAL_IPv6 }}
|
2022-05-08 18:54:23 +02:00
|
|
|
MS_WEBRTC_LISTEN_IPS: '[{"ip":"{{ .Env.EXTERNAL_IPv6 }}", "announcedIp":"{{ .Env.EXTERNAL_IPv6 }}"}, {"ip":"${EXTERNAL_IPv4}", "announcedIp":"${EXTERNAL_IPv4}"}]'
|
2022-04-17 13:20:41 +02:00
|
|
|
{{else}}
|
2022-04-17 12:43:46 +02:00
|
|
|
MS_WEBRTC_LISTEN_IPS: '[{"ip":"${EXTERNAL_IPv4}", "announcedIp":"${EXTERNAL_IPv4}"}]'
|
2022-04-17 13:20:41 +02:00
|
|
|
{{end}}
|
2022-04-17 12:43:46 +02:00
|
|
|
MS_RTP_LISTEN_IP: '{"ip":"0.0.0.0", "announcedIp":"${EXTERNAL_IPv4}"}'
|
2022-04-03 23:28:49 +02:00
|
|
|
volumes:
|
|
|
|
- vol-mediasoup:/var/mediasoup
|
2022-05-04 01:10:11 +02:00
|
|
|
tmpfs:
|
|
|
|
- /var/log/bbb-webrtc-sfu
|
2022-04-17 12:43:46 +02:00
|
|
|
network_mode: host
|
2020-04-09 18:15:06 +02:00
|
|
|
|
2020-07-12 15:30:16 +02:00
|
|
|
fsesl-akka:
|
2022-04-03 23:18:15 +02:00
|
|
|
build:
|
|
|
|
context: mod/fsesl-akka
|
2023-11-29 22:17:49 +01:00
|
|
|
additional_contexts:
|
|
|
|
- src-common-message=./repos/bigbluebutton/bbb-common-message
|
|
|
|
- src-fsesl-client=./repos/bigbluebutton/bbb-fsesl-client
|
|
|
|
- src-fsesl-akka=./repos/bigbluebutton/akka-bbb-fsesl
|
2022-04-03 23:18:15 +02:00
|
|
|
args:
|
2023-11-29 22:17:49 +01:00
|
|
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
|
|
|
image: alangecker/bbb-docker-fsesl-akka:{{ .Env.TAG_BBB }}
|
2021-04-29 09:55:03 +02:00
|
|
|
restart: unless-stopped
|
2020-12-23 23:58:24 +01:00
|
|
|
depends_on:
|
|
|
|
- redis
|
2022-04-03 23:18:15 +02:00
|
|
|
- freeswitch
|
2021-03-27 18:48:05 +01:00
|
|
|
environment:
|
|
|
|
FSESL_PASSWORD: ${FSESL_PASSWORD:-ClueCon}
|
2020-07-12 15:30:16 +02:00
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.14
|
|
|
|
|
2020-10-27 19:55:43 +01:00
|
|
|
apps-akka:
|
2022-04-03 23:18:15 +02:00
|
|
|
build:
|
|
|
|
context: mod/apps-akka
|
2023-11-29 22:17:49 +01:00
|
|
|
additional_contexts:
|
|
|
|
- src-common-message=./repos/bigbluebutton/bbb-common-message
|
|
|
|
- src-apps-akka=./repos/bigbluebutton/akka-bbb-apps
|
2022-04-03 23:18:15 +02:00
|
|
|
args:
|
2023-11-29 22:17:49 +01:00
|
|
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
|
|
|
image: alangecker/bbb-docker-apps-akka:{{ .Env.TAG_BBB }}
|
2021-04-29 09:55:03 +02:00
|
|
|
restart: unless-stopped
|
2020-12-23 23:58:24 +01:00
|
|
|
depends_on:
|
|
|
|
- redis
|
2020-10-27 19:55:43 +01:00
|
|
|
environment:
|
|
|
|
DOMAIN: ${DOMAIN}
|
|
|
|
SHARED_SECRET: ${SHARED_SECRET}
|
|
|
|
volumes:
|
|
|
|
- vol-freeswitch:/var/freeswitch/meetings
|
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.15
|
|
|
|
|
2021-04-02 18:23:05 +02:00
|
|
|
jodconverter:
|
2021-04-28 16:07:22 +02:00
|
|
|
build: mod/jodconverter
|
2022-05-08 19:45:59 +02:00
|
|
|
image: alangecker/bbb-docker-jodconverter:latest
|
2022-11-04 16:40:14 +01:00
|
|
|
security_opt:
|
|
|
|
- 'no-new-privileges:true'
|
2020-09-06 22:02:22 +02:00
|
|
|
restart: unless-stopped
|
2021-12-13 17:52:13 +01:00
|
|
|
tmpfs:
|
|
|
|
- /tmp
|
2021-04-02 18:23:05 +02:00
|
|
|
deploy:
|
|
|
|
resources:
|
|
|
|
limits:
|
|
|
|
memory: 512M
|
2020-09-06 22:02:22 +02:00
|
|
|
networks:
|
|
|
|
bbb-net:
|
2021-04-02 18:23:05 +02:00
|
|
|
ipv4_address: 10.7.7.20
|
2021-10-17 00:01:07 +02:00
|
|
|
|
2020-05-22 14:56:45 +02:00
|
|
|
periodic:
|
|
|
|
build: mod/periodic
|
2023-09-12 18:31:01 +02:00
|
|
|
image: alangecker/bbb-docker-periodic:v2.7.0
|
2020-05-22 14:56:45 +02:00
|
|
|
restart: unless-stopped
|
|
|
|
depends_on:
|
|
|
|
- mongodb
|
|
|
|
volumes:
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
2020-08-27 10:46:16 +02:00
|
|
|
- bigbluebutton:/var/bigbluebutton
|
2022-04-03 23:28:49 +02:00
|
|
|
- vol-mediasoup:/var/mediasoup
|
2021-10-17 20:26:26 +02:00
|
|
|
tmpfs:
|
|
|
|
- /var/log/bigbluebutton
|
|
|
|
environment:
|
|
|
|
ENABLE_RECORDING: ${ENABLE_RECORDING}
|
|
|
|
REMOVE_OLD_RECORDING: ${REMOVE_OLD_RECORDING}
|
|
|
|
RECORDING_MAX_AGE_DAYS: ${RECORDING_MAX_AGE_DAYS}
|
2020-05-22 14:56:45 +02:00
|
|
|
networks:
|
2020-05-26 17:24:55 +02:00
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.12
|
2020-05-22 14:56:45 +02:00
|
|
|
|
2021-02-11 15:33:49 +01:00
|
|
|
{{ if isTrue .Env.ENABLE_RECORDING }}
|
|
|
|
# recordings
|
|
|
|
recordings:
|
2022-04-03 23:18:15 +02:00
|
|
|
build:
|
|
|
|
context: mod/recordings
|
2023-11-29 22:17:49 +01:00
|
|
|
additional_contexts:
|
|
|
|
- record-core=./repos/bigbluebutton/record-and-playback/core
|
|
|
|
- presentation=./repos/bigbluebutton/record-and-playback/presentation
|
|
|
|
- bbb-conf=./repos/bigbluebutton/bigbluebutton-config
|
2022-04-03 23:18:15 +02:00
|
|
|
args:
|
2023-11-29 22:17:49 +01:00
|
|
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
|
|
|
TAG_BBB_PRESENTATION_VIDEO: "4.0.3"
|
|
|
|
image: alangecker/bbb-docker-recordings:{{ .Env.TAG_BBB }}
|
2021-03-06 21:24:14 +01:00
|
|
|
restart: unless-stopped
|
2021-02-11 15:33:49 +01:00
|
|
|
depends_on:
|
|
|
|
- redis
|
2022-04-03 23:28:49 +02:00
|
|
|
- bbb-pads
|
2021-02-11 15:33:49 +01:00
|
|
|
environment:
|
|
|
|
DOMAIN: ${DOMAIN}
|
2023-05-03 23:41:48 +02:00
|
|
|
SHARED_SECRET: ${SHARED_SECRET}
|
2021-02-11 15:33:49 +01:00
|
|
|
volumes:
|
|
|
|
- bigbluebutton:/var/bigbluebutton
|
|
|
|
- vol-freeswitch:/var/freeswitch/meetings
|
2022-04-03 23:28:49 +02:00
|
|
|
- vol-mediasoup:/var/mediasoup
|
2022-05-07 14:26:04 +02:00
|
|
|
- vol-kurento:/var/kurento
|
2021-02-11 15:33:49 +01:00
|
|
|
tmpfs:
|
|
|
|
- /var/log/bigbluebutton
|
|
|
|
- /tmp
|
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.16
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
{{ if isTrue .Env.ENABLE_WEBHOOKS }}
|
|
|
|
# webhooks
|
|
|
|
webhooks:
|
2023-11-29 22:17:49 +01:00
|
|
|
build:
|
|
|
|
context: mod/webhooks
|
|
|
|
additional_contexts:
|
|
|
|
- src=./repos/bbb-webhooks
|
2022-05-08 19:45:59 +02:00
|
|
|
image: alangecker/bbb-docker-webhooks:{{ .Env.TAG_WEBHOOKS }}
|
2021-02-11 15:33:49 +01:00
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
|
|
DOMAIN: ${DOMAIN}
|
|
|
|
SHARED_SECRET: ${SHARED_SECRET}
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.17
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
{{ if isTrue .Env.ENABLE_HTTPS_PROXY }}
|
|
|
|
# https
|
|
|
|
https_proxy:
|
|
|
|
image: valian/docker-nginx-auto-ssl
|
|
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
|
|
- ssl_data:/etc/resty-auto-ssl
|
|
|
|
{{ if .Env.EXTERNAL_IPv6 }}
|
|
|
|
- ./mod/https/site.conf:/etc/nginx/conf.d/bbb-docker.conf
|
|
|
|
{{else}}
|
|
|
|
- ./mod/https/site-ipv4only.conf:/etc/nginx/conf.d/bbb-docker.conf
|
|
|
|
{{end}}
|
2023-03-21 12:58:28 +01:00
|
|
|
{{ if isTrue .Env.DEV_MODE }}
|
|
|
|
# allow bbb api access without https
|
|
|
|
- ./mod/https/force-https.conf:/usr/local/openresty/nginx/conf/force-https.conf
|
|
|
|
{{end}}
|
2021-02-11 15:33:49 +01:00
|
|
|
environment:
|
2021-08-04 11:03:53 +02:00
|
|
|
{{ if isTrue .Env.DEV_MODE }}
|
2021-02-11 15:33:49 +01:00
|
|
|
ALLOWED_DOMAINS: ""
|
2021-08-04 11:03:53 +02:00
|
|
|
{{else}}
|
|
|
|
ALLOWED_DOMAINS: ${DOMAIN}
|
2021-02-11 15:33:49 +01:00
|
|
|
{{end}}
|
2023-12-07 19:46:07 +01:00
|
|
|
RESOLVER_ADDRESS: ${RESOLVER_ADDRESS:-9.9.9.9}
|
2021-02-11 15:33:49 +01:00
|
|
|
network_mode: host
|
|
|
|
{{end}}
|
|
|
|
|
2021-06-01 17:51:55 +02:00
|
|
|
{{ if isTrue .Env.ENABLE_COTURN }}
|
|
|
|
# coturn
|
|
|
|
coturn:
|
2022-09-19 21:39:41 +02:00
|
|
|
image: coturn/coturn:4.6-alpine
|
2021-06-01 17:51:55 +02:00
|
|
|
restart: unless-stopped
|
|
|
|
command:
|
|
|
|
- "--external-ip=${EXTERNAL_IPv4}/${EXTERNAL_IPv4}"
|
|
|
|
- "--external-ip=${EXTERNAL_IPv6:-::1}/${EXTERNAL_IPv6:-::1}"
|
|
|
|
- "--static-auth-secret=${TURN_SECRET}"
|
|
|
|
volumes:
|
2021-06-08 18:28:24 +02:00
|
|
|
{{ if isTrue .Env.ENABLE_HTTPS_PROXY }}
|
2021-06-01 17:51:55 +02:00
|
|
|
- ssl_data:/etc/resty-auto-ssl
|
2021-06-08 18:28:24 +02:00
|
|
|
{{else}}
|
|
|
|
- ${COTURN_TLS_CERT_PATH}:/tmp/cert.pem
|
|
|
|
- ${COTURN_TLS_KEY_PATH}:/tmp/key.pem
|
|
|
|
{{end}}
|
2021-06-01 17:51:55 +02:00
|
|
|
- ./mod/coturn/entrypoint.sh:/usr/local/bin/docker-entrypoint.sh
|
|
|
|
- ./mod/coturn/turnserver.conf:/etc/coturn/turnserver.conf
|
2021-08-04 10:56:57 +02:00
|
|
|
environment:
|
|
|
|
ENABLE_HTTPS_PROXY:
|
2022-05-09 07:24:07 +02:00
|
|
|
user: root
|
2021-06-01 17:51:55 +02:00
|
|
|
network_mode: host
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
|
2021-02-11 15:33:49 +01:00
|
|
|
{{ if isTrue .Env.ENABLE_GREENLIGHT }}
|
|
|
|
# greenlight
|
|
|
|
greenlight:
|
2023-11-29 22:17:49 +01:00
|
|
|
image: bigbluebutton/greenlight:v3.0.6.1
|
2021-02-11 15:33:49 +01:00
|
|
|
restart: unless-stopped
|
|
|
|
env_file: .env
|
2023-03-21 12:58:28 +01:00
|
|
|
depends_on:
|
|
|
|
- postgres
|
|
|
|
- redis
|
|
|
|
|
2021-02-11 15:33:49 +01:00
|
|
|
environment:
|
2023-03-21 14:03:03 +01:00
|
|
|
DATABASE_URL: postgres://postgres:${POSTGRESQL_SECRET:-password}@postgres:5432/greenlight-v3
|
2023-03-21 12:58:28 +01:00
|
|
|
REDIS_URL: redis://redis:6379
|
2021-02-11 15:33:49 +01:00
|
|
|
{{ if isTrue .Env.DEV_MODE }}
|
2023-03-21 12:58:28 +01:00
|
|
|
BIGBLUEBUTTON_ENDPOINT: http://10.7.7.1/bigbluebutton/api
|
2021-02-11 15:33:49 +01:00
|
|
|
{{else}}
|
2023-03-21 12:58:28 +01:00
|
|
|
BIGBLUEBUTTON_ENDPOINT: https://${DOMAIN}/bigbluebutton/api
|
2021-02-11 15:33:49 +01:00
|
|
|
{{end}}
|
|
|
|
BIGBLUEBUTTON_SECRET: ${SHARED_SECRET}
|
|
|
|
SECRET_KEY_BASE: ${RAILS_SECRET}
|
2023-09-12 22:09:17 +02:00
|
|
|
RELATIVE_URL_ROOT: /
|
2023-03-21 12:58:28 +01:00
|
|
|
volumes:
|
|
|
|
- ./greenlight-data:/usr/src/app/storage
|
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.21
|
|
|
|
|
2021-02-11 15:33:49 +01:00
|
|
|
postgres:
|
|
|
|
image: postgres:12-alpine
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
2023-03-21 14:03:03 +01:00
|
|
|
POSTGRES_DB: greenlight-v3
|
2021-02-11 15:33:49 +01:00
|
|
|
POSTGRES_USER: postgres
|
2021-06-21 16:16:16 +02:00
|
|
|
POSTGRES_PASSWORD: ${POSTGRESQL_SECRET:-password}
|
2021-02-17 23:27:02 +01:00
|
|
|
healthcheck:
|
|
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
|
|
interval: 10s
|
|
|
|
timeout: 5s
|
|
|
|
retries: 5
|
2021-02-11 15:33:49 +01:00
|
|
|
volumes:
|
|
|
|
- ./postgres-data:/var/lib/postgresql/data
|
2023-03-21 12:58:28 +01:00
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.22
|
2021-02-11 15:33:49 +01:00
|
|
|
{{end}}
|
|
|
|
|
|
|
|
{{ if isTrue .Env.ENABLE_PROMETHEUS_EXPORTER }}
|
|
|
|
# prometheus
|
|
|
|
prometheus-exporter:
|
2022-05-08 18:54:23 +02:00
|
|
|
image: greenstatic/bigbluebutton-exporter:latest
|
2021-02-11 15:33:49 +01:00
|
|
|
restart: unless-stopped
|
2021-10-17 00:01:07 +02:00
|
|
|
environment:
|
2021-11-27 18:22:03 +01:00
|
|
|
API_BASE_URL: http://10.7.7.1:48087/bigbluebutton/api/
|
2021-02-11 15:33:49 +01:00
|
|
|
API_SECRET: ${SHARED_SECRET}
|
2021-11-27 12:31:26 +01:00
|
|
|
RECORDINGS_METRICS_READ_FROM_DISK: "${ENABLE_PROMETHEUS_EXPORTER_OPTIMIZATION:-false}"
|
2021-02-11 15:33:49 +01:00
|
|
|
networks:
|
|
|
|
bbb-net:
|
|
|
|
ipv4_address: 10.7.7.33
|
2021-10-17 00:01:07 +02:00
|
|
|
{{ if isTrue .Env.ENABLE_PROMETHEUS_EXPORTER_OPTIMIZATION }}
|
|
|
|
volumes:
|
|
|
|
- bigbluebutton:/var/bigbluebutton:ro
|
|
|
|
{{end}}
|
2023-12-07 20:05:33 +01:00
|
|
|
|
|
|
|
# the exporter requires /etc/bigbluebutton/bigbluebutton-release
|
|
|
|
tmpfs:
|
|
|
|
- /etc/bigbluebutton
|
|
|
|
entrypoint: sh -c 'echo "BIGBLUEBUTTON_RELEASE=2.7.3" > /etc/bigbluebutton/bigbluebutton-release && python server.py'
|
2021-02-11 15:33:49 +01:00
|
|
|
{{end}}
|
|
|
|
|
2021-10-17 00:01:07 +02:00
|
|
|
|
2020-04-11 11:29:50 +02:00
|
|
|
volumes:
|
|
|
|
bigbluebutton:
|
2020-08-15 03:26:33 +02:00
|
|
|
vol-freeswitch:
|
2022-05-07 14:26:04 +02:00
|
|
|
vol-kurento:
|
2022-04-03 23:28:49 +02:00
|
|
|
vol-mediasoup:
|
2020-12-22 00:41:01 +01:00
|
|
|
html5-static:
|
2021-02-11 15:33:49 +01:00
|
|
|
{{ if isTrue .Env.ENABLE_HTTPS_PROXY }}
|
|
|
|
ssl_data:
|
|
|
|
{{end}}
|
2020-04-11 11:29:50 +02:00
|
|
|
|
2020-04-09 08:48:47 +02:00
|
|
|
networks:
|
2020-04-12 16:01:57 +02:00
|
|
|
bbb-net:
|
2020-04-09 08:48:47 +02:00
|
|
|
ipam:
|
2020-04-09 15:43:58 +02:00
|
|
|
driver: default
|
|
|
|
config:
|
2020-04-20 17:26:40 +02:00
|
|
|
- subnet: "10.7.7.0/24"
|