docker/docker-compose.yml

146 lines
4.1 KiB
YAML
Raw Normal View History

2020-04-09 15:43:58 +02:00
version: '3.6'
2020-04-09 08:48:47 +02:00
2019-12-09 04:34:03 +01:00
services:
core:
build: mod/core
2020-04-11 10:43:25 +02:00
depends_on:
- redis
2019-12-09 04:34:03 +01:00
cap_add:
2020-04-09 02:11:32 +02:00
- SYS_NICE # for realtime scheduling
2020-04-09 08:02:08 +02:00
- SYS_ADMIN # for systemd
2019-12-09 04:34:03 +01:00
environment:
DOMAIN: ${DOMAIN}
EXTERNAL_IP: ${EXTERNAL_IP}
SHARED_SECRET: ${SHARED_SECRET}
WELCOME_FOOTER: ${WELCOME_FOOTER}
container: docker
2019-12-09 04:34:03 +01:00
tmpfs:
- /run
- /run/lock
2020-04-08 06:36:27 +02:00
- /tmp:exec,mode=777
2019-12-09 04:34:03 +01:00
volumes:
2020-04-11 11:29:50 +02:00
- bigbluebutton:/var/bigbluebutton
2020-04-09 08:02:08 +02:00
- /sys/fs/cgroup:/sys/fs/cgroup:ro # for systemd
- ./mod/core/entrypoint.sh:/entrypoint.sh
2020-04-11 10:43:25 +02:00
- ./mod/core/red5.properties:/usr/share/red5/conf/red5.properties
- ./mod/core/bigbluebutton.properties:/usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties
- ./mod/core/bigbluebutton-sip.properties:/usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties
- ./mod/freeswitch/vars.xml:/opt/freeswitch/conf/vars.xml.tmpl
2020-04-09 02:11:32 +02:00
- ./mod/freeswitch/external.xml:/opt/freeswitch/conf/sip_profiles/external.xml
2020-04-11 10:43:25 +02:00
- ./mod/freeswitch/acl.conf.xml:/opt/freeswitch/conf/autoload_configs/acl.conf.xml
- ./mod/freeswitch/event_socket.conf.xml:/opt/freeswitch/conf/autoload_configs/event_socket.conf.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
2020-04-11 10:43:25 +02:00
- ./mod/bbb-fsesl-akka/application.conf:/etc/bbb-fsesl-akka/application.conf
2020-04-09 02:11:32 +02:00
network_mode: host
2020-04-09 08:48:47 +02:00
nginx:
image: nginx:1.17
2020-04-09 18:15:06 +02:00
depends_on:
- etherpad
- webrtc-sfu
2020-04-09 22:33:27 +02:00
- html5
2020-04-09 08:48:47 +02:00
ports:
2020-04-12 16:01:57 +02:00
- "8080:80"
2020-04-09 08:48:47 +02:00
volumes:
2020-04-11 11:29:50 +02:00
- bigbluebutton:/var/bigbluebutton
2020-04-09 08:48:47 +02:00
- ./mod/nginx/bbb:/etc/nginx/bbb
- ./mod/nginx/bigbluebutton:/etc/nginx/conf.d/default.conf
networks:
2020-04-12 16:01:57 +02:00
- bbb-net
2020-04-09 08:48:47 +02:00
extra_hosts:
- "host.docker.internal:10.7.7.1"
2020-04-09 15:43:58 +02:00
etherpad:
image: etherpad/etherpad:1.8.0
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}
volumes:
- ./mod/pad/settings.json:/opt/etherpad-lite/settings.json
- ./mod/pad/entrypoint.sh:/entrypoint.sh
entrypoint: /entrypoint.sh
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
2020-04-09 15:43:58 +02:00
redis:
2020-04-12 20:34:48 +02:00
image: redis:5.0-alpine
2020-04-09 15:43:58 +02:00
ports:
- "127.0.0.1:6379:6379" # TODO: remove as soon as we updated all redis host references
networks:
2020-04-12 16:01:57 +02:00
bbb-net:
2020-04-09 15:43:58 +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:
2020-04-12 20:34:48 +02:00
image: mongo:4.2
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
2020-04-09 18:13:18 +02:00
kurento:
image: kurento/kurento-media-server:6.13
environment:
2020-04-10 13:29:06 +02:00
KMS_STUN_IP: ${STUN_IP}
KMS_STUN_PORT: ${STUN_PORT}
2020-04-09 18:13:18 +02:00
KMS_MIN_PORT: 24577
KMS_MAX_PORT: 32768
2020-04-12 20:23:52 +02:00
KMS_EXTERNAL_ADDRESS:
2020-04-09 18:13:18 +02:00
KMS_TURN_URL:
2020-04-09 18:15:06 +02:00
network_mode: host
2020-04-09 15:43:58 +02:00
2020-04-09 18:15:06 +02:00
webrtc-sfu:
build:
context: ./bbb-webrtc-sfu
2020-04-12 20:34:48 +02:00
dockerfile: ../mod/webrtc-sfu/Dockerfile
2020-04-09 18:15:06 +02:00
depends_on:
- redis
- kurento
- core
2020-04-09 18:15:06 +02:00
environment:
CLIENT_HOST: 0.0.0.0
KURENTO_NAME: kurento
REDIS_HOST: redis
FREESWITCH_IP: host.docker.internal
2020-04-12 20:23:52 +02:00
FREESWITCH_SIP_IP: ${EXTERNAL_IP}
2020-04-09 18:15:06 +02:00
ESL_IP: host.docker.internal
2020-04-11 10:43:25 +02:00
LOG_LEVEL: info
2020-04-10 13:29:06 +02:00
NODE_CONFIG: '{"kurento":[{"ip":"${EXTERNAL_IP}","url":"ws://kurento:8888/kurento"}]}'
2020-04-09 18:15:06 +02:00
ports:
- "127.0.0.1:3008:3008"
extra_hosts:
- host.docker.internal:10.7.7.1
- kurento:10.7.7.1
networks:
2020-04-12 16:01:57 +02:00
- bbb-net
2020-04-09 18:15:06 +02:00
2020-04-09 22:33:27 +02:00
html5:
build: mod/html5
2020-04-09 22:33:27 +02:00
depends_on:
- redis
2020-04-11 10:43:25 +02:00
- mongodb
2020-04-09 22:33:27 +02:00
- etherpad
2020-04-10 13:29:06 +02:00
environment:
DOMAIN: ${DOMAIN}
CLIENT_TITLE: ${CLIENT_TITLE}
SCREENSHARE_EXTENSION_KEY: ${SCREENSHARE_EXTENSION_KEY}
SCREENSHARE_EXTENSION_LINK: ${SCREENSHARE_EXTENSION_LINK}
ETHERPAD_API_KEY: ${ETHERPAD_API_KEY}
2020-04-09 22:33:27 +02:00
networks:
2020-04-12 16:01:57 +02:00
- bbb-net
2020-04-09 22:33:27 +02:00
volumes:
- ./mod/html5/entrypoint.sh:/entrypoint.sh
2020-04-10 13:29:06 +02:00
- ./mod/html5/settings.yml:/app/programs/server/assets/app/config/settings.yml.tmpl
2020-04-09 22:33:27 +02:00
2020-04-11 11:29:50 +02:00
volumes:
bigbluebutton:
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:
- subnet: "10.7.7.0/24"