docker/docker-compose.yml

124 lines
3.1 KiB
YAML

version: '3.6'
services:
core:
image: bbb-core
cap_add:
- SYS_NICE # for realtime scheduling
- SYS_ADMIN # for systemd
environment:
DOMAIN: ${DOMAIN}
EXTERNAL_IP: ${EXTERNAL_IP}
SHARED_SECRET: ${SHARED_SECRET}
WELCOME_MESSAGE: ${WELCOME_MESSAGE}
WELCOME_FOOTER: ${WELCOME_FOOTER}
container: docker
tmpfs:
- /run
- /run/lock
- /tmp:exec,mode=777
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro # for systemd
- ./mod/core/entrypoint.sh:/entrypoint.sh
- ./mod/freeswitch/vars.xml:/opt/freeswitch/conf/vars.xml.tmpl
- ./mod/freeswitch/external.xml:/opt/freeswitch/conf/sip_profiles/external.xml
- ./mod/web/bigbluebutton.properties:/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl
- ./mod/core/bigbluebutton.yml:/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
- ./mod/bbb-apps-akka/application.conf:/usr/share/bbb-apps-akka/conf/application.conf.tmpl
network_mode: host
nginx:
image: nginx:1.17
depends_on:
- etherpad
- webrtc-sfu
- html5
ports:
- "80:80"
volumes:
- ./mod/nginx/bbb:/etc/nginx/bbb
- ./mod/nginx/bigbluebutton:/etc/nginx/conf.d/default.conf
networks:
- bluenet
extra_hosts:
- "host.docker.internal:10.7.7.1"
etherpad:
image: etherpad/etherpad:1.8.0
depends_on:
- redis
environment:
ETHERPAD_API_KEY: ${ETHERPAD_API_KEY}
volumes:
- ./mod/pad/settings.json:/opt/etherpad-lite/settings.json
- ./mod/pad/entrypoint.sh:/entrypoint.sh
entrypoint: /entrypoint.sh
networks:
bluenet:
ipv4_address: 10.7.7.4
redis:
image: redis:3.0-alpine
ports:
- "127.0.0.1:6379:6379" # TODO: remove as soon as we updated all redis host references
networks:
bluenet:
ipv4_address: 10.7.7.5
mongodb:
image: mongo:3.4
networks:
bluenet:
ipv4_address: 10.7.7.6
kurento:
image: kurento/kurento-media-server:6.13
environment:
KMS_STUN_IP: 64.233.177.127 # google stun server
KMS_STUN_PORT: 19302
KMS_MIN_PORT: 24577
KMS_MAX_PORT: 32768
KMS_EXTERNAL_ADDRESS:
KMS_TURN_URL:
network_mode: host
webrtc-sfu:
build: ./bbb-webrtc-sfu
depends_on:
- redis
- kurento
- core
environment:
CLIENT_HOST: 0.0.0.0
KURENTO_NAME: kurento
REDIS_HOST: redis
FREESWITCH_IP: host.docker.internal
FREESWITCH_SIP_IP: 144.76.97.34
ESL_IP: host.docker.internal
LOG_LEVEL: debug
NODE_CONFIG: '{"kurento":[{"ip":"144.76.97.34","url":"ws://kurento:8888/kurento"}]}'
ports:
- "127.0.0.1:3008:3008"
extra_hosts:
- host.docker.internal:10.7.7.1
- kurento:10.7.7.1
networks:
- bluenet
html5:
image: bbb-html5
depends_on:
- redis
- etherpad
networks:
- bluenet
volumes:
- ./mod/html5/entrypoint.sh:/entrypoint.sh
- ./mod/html5/settings.yml:/app/programs/server/assets/app/config/settings.yml
networks:
bluenet:
ipam:
driver: default
config:
- subnet: "10.7.7.0/24"