mirror of
https://github.com/bigbluebutton/docker.git
synced 2025-02-22 20:50:48 +01:00
isolated network for core container
This commit is contained in:
parent
46ad0a0521
commit
104cb1cd2d
@ -12,7 +12,9 @@ services:
|
||||
WELCOME_FOOTER: ${WELCOME_FOOTER}
|
||||
volumes:
|
||||
- bigbluebutton:/var/bigbluebutton
|
||||
network_mode: host
|
||||
networks:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.2
|
||||
|
||||
freeswitch:
|
||||
build: mod/freeswitch
|
||||
|
@ -57,8 +57,13 @@ COPY bigbluebutton.yml /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
|
||||
COPY web/bigbluebutton.properties /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl
|
||||
COPY bbb-apps-akka/application.conf /usr/share/bbb-apps-akka/conf/application.conf.tmpl
|
||||
COPY bbb-fsesl-akka/application.conf /etc/bbb-fsesl-akka/application.conf
|
||||
COPY bbb-transcode-akka/application.conf /etc/bbb-transcode-akka/application.conf
|
||||
COPY web-run.sh /usr/share/bbb-web/run-prod.sh
|
||||
|
||||
COPY screenshare/screenshare.properties /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties
|
||||
COPY screenshare/screenshare-app.conf /usr/share/red5/webapps/screenshare/WEB-INF/classes/screenshare-app.conf
|
||||
COPY screenshare/application.conf /usr/share/red5/webapps/screenshare/WEB-INF/classes/application.conf
|
||||
|
||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
|
@ -65,7 +65,7 @@ sharedNotes {
|
||||
}
|
||||
|
||||
http {
|
||||
interface = "10.7.7.1"
|
||||
interface = "10.7.7.2"
|
||||
port = 9999
|
||||
}
|
||||
|
||||
|
48
mod/core/bbb-transcode-akka/application.conf
Normal file
48
mod/core/bbb-transcode-akka/application.conf
Normal file
@ -0,0 +1,48 @@
|
||||
akka {
|
||||
actor {
|
||||
debug {
|
||||
receive = on
|
||||
}
|
||||
}
|
||||
loggers = ["akka.event.slf4j.Slf4jLogger"]
|
||||
loglevel = INFO
|
||||
stdout-loglevel = "INFO"
|
||||
|
||||
redis-subscriber-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
redis {
|
||||
host="redis"
|
||||
port=6379
|
||||
password=""
|
||||
# recording keys should expire in 14 days
|
||||
keyExpiry=1209600
|
||||
}
|
||||
|
||||
videoconference {
|
||||
#The image to use in the videoconference window and/or when the webuser has no video
|
||||
videoconf-logo-image-path = /usr/share/red5/webapps/sip/WEB-INF/mconf-videoconf-logo.gif
|
||||
|
||||
#Enable username subtitle on video-conf-logo (the one shown in sip-phone when
|
||||
#webconference's talker has no video )
|
||||
enable-user-video-subtitle = true
|
||||
|
||||
#To change the sip video resolution, edit below:
|
||||
#IMPORTANT: For now, we only accept these 3 resolutions: 160x120, 320x240, 640x480
|
||||
sip-video-resolution=640x480
|
||||
}
|
||||
|
||||
transcoder {
|
||||
#The path where ffmpeg is installed
|
||||
ffmpeg-path = /usr/bin/ffmpeg
|
||||
|
||||
#The path where ffprobe is installed
|
||||
ffprobe-path = /usr/bin/ffprobe
|
||||
}
|
@ -8,7 +8,7 @@ sip.server.username=bbbuser
|
||||
sip.server.password=secret
|
||||
|
||||
# The ip and port of the FreeSWITCH server
|
||||
freeswitch.ip=127.0.0.1
|
||||
freeswitch.ip=10.7.7.1
|
||||
freeswitch.port=5060
|
||||
|
||||
# The start/stop RTP port the application is going to use
|
||||
|
@ -14,7 +14,7 @@ notes_formats:
|
||||
- etherpad
|
||||
- html
|
||||
- pdf
|
||||
redis_host: 127.0.0.1
|
||||
redis_host: redis
|
||||
redis_port: 6379
|
||||
# Uncomment and set password if redis require it.
|
||||
# redis_password: changeme
|
||||
|
@ -1,9 +1,9 @@
|
||||
# Socket policy
|
||||
policy.host=10.7.7.1
|
||||
policy.host=0.0.0.0
|
||||
policy.port=843
|
||||
|
||||
# HTTP
|
||||
http.host=10.7.7.1
|
||||
http.host=0.0.0.0
|
||||
http.port=5080
|
||||
https.port=5443
|
||||
http.URIEncoding=UTF-8
|
||||
@ -14,7 +14,7 @@ http.acceptor_thread_count=10
|
||||
http.processor_cache=20
|
||||
|
||||
# RTMP
|
||||
rtmp.host=10.7.7.1
|
||||
rtmp.host=0.0.0.0
|
||||
rtmp.port=1935
|
||||
rtmp.io_threads=8
|
||||
rtmp.send_buffer_size=65536
|
||||
@ -70,7 +70,7 @@ rtmp.generateMetadata=false
|
||||
rtmp.max_packet_size=3145728
|
||||
|
||||
# RTMPS
|
||||
rtmps.host=10.7.7.1
|
||||
rtmps.host=0.0.0.0
|
||||
rtmps.port=8443
|
||||
rtmps.ping_interval=5000
|
||||
rtmps.max_inactivity=20000
|
||||
@ -85,7 +85,7 @@ rtmps.truststorepass=password
|
||||
rtmps.truststorefile=conf/truststore.jks
|
||||
|
||||
# RTMPT
|
||||
rtmpt.host=10.7.7.1
|
||||
rtmpt.host=0.0.0.0
|
||||
rtmpt.port=8088
|
||||
rtmpt.ping_interval=5000
|
||||
rtmpt.max_inactivity=20000
|
||||
@ -108,7 +108,7 @@ rtmpt.max_queue_offer_time=125
|
||||
rtmpt.max_queue_offer_attempts=4
|
||||
|
||||
# WebSocket
|
||||
ws.host=10.7.7.1
|
||||
ws.host=0.0.0.0
|
||||
ws.port=8081
|
||||
|
||||
# Debug proxy (needs to be activated in red5-core.xml)
|
||||
|
43
mod/core/screenshare/application.conf
Normal file
43
mod/core/screenshare/application.conf
Normal file
@ -0,0 +1,43 @@
|
||||
akka {
|
||||
actor {
|
||||
debug {
|
||||
# enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill et.c.)
|
||||
autoreceive = on
|
||||
# enable DEBUG logging of actor lifecycle changes
|
||||
lifecycle = on
|
||||
}
|
||||
}
|
||||
loggers = ["akka.event.slf4j.Slf4jLogger"]
|
||||
loglevel = "DEBUG"
|
||||
|
||||
redis-publish-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
|
||||
redis-subscriber-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
}
|
||||
|
||||
redis {
|
||||
host="127.0.0.1"
|
||||
port=6379
|
||||
password=""
|
||||
# recording keys should expire in 14 days
|
||||
keyExpiry=1209600
|
||||
}
|
||||
|
||||
eventBus {
|
||||
meetingManagerChannel = "FROM APPLICATION.CONF MeetingManagerChannel"
|
||||
outMessageChannel = "OutgoingMessageChannel"
|
||||
incomingJsonMsgChannel = "IncomingJsonMsgChannel"
|
||||
outBbbMsgMsgChannel = "OutBbbMsgChannel"
|
||||
}
|
43
mod/core/screenshare/screenshare-app.conf
Normal file
43
mod/core/screenshare/screenshare-app.conf
Normal file
@ -0,0 +1,43 @@
|
||||
akka {
|
||||
actor {
|
||||
debug {
|
||||
# enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill et.c.)
|
||||
autoreceive = on
|
||||
# enable DEBUG logging of actor lifecycle changes
|
||||
lifecycle = on
|
||||
}
|
||||
}
|
||||
loggers = ["akka.event.slf4j.Slf4jLoggerDDD"]
|
||||
loglevel = "DEBUG"
|
||||
|
||||
redis-publish-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
|
||||
redis-subscriber-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
}
|
||||
|
||||
redis {
|
||||
host="redis"
|
||||
port=6379
|
||||
password=""
|
||||
# recording keys should expire in 14 days
|
||||
keyExpiry=1209600
|
||||
}
|
||||
|
||||
eventBus {
|
||||
meetingManagerChannel = "FROM SCREEN-APPLICATION.CONF MeetingManagerChannel"
|
||||
outMessageChannel = "OutgoingMessageChannel"
|
||||
incomingJsonMsgChannel = "IncomingJsonMsgChannel"
|
||||
outBbbMsgMsgChannel = "OutBbbMsgChannel"
|
||||
}
|
20
mod/core/screenshare/screenshare.properties
Normal file
20
mod/core/screenshare/screenshare.properties
Normal file
@ -0,0 +1,20 @@
|
||||
recordingDirectory=/usr/share/red5/webapps/screenshare/streams
|
||||
|
||||
redis.host=redis
|
||||
redis.port=6379
|
||||
redis.password=
|
||||
redis.keyExpiry=1209600
|
||||
|
||||
streamBaseUrl=rtmp://10.130.218.38/screenshare
|
||||
jnlpUrl=http://10.130.218.38/screenshare
|
||||
jnlpFile=http://10.130.218.38/screenshare/screenshare.jnlp
|
||||
useH264=false
|
||||
|
||||
# NOTES:
|
||||
# 1. GOP (group of pictures) is calculated as frameRate * keyFrameInterval
|
||||
# 2. intra-refresh=1 doesn't work in Chrome. Late comers can't view the stream as
|
||||
# the user missed the key frame
|
||||
# 3. keyFrameInterval is in seconds
|
||||
# 4. Make sure you encode & into & as it will break the JNLP XML
|
||||
#codecOptions=crf=36&preset=veryfast&tune=animation,zerolatency&frameRate=12.0&keyFrameInterval=6
|
||||
codecOptions=crf=38&preset=veryfast&tune=zerolatency&frameRate=5.0&keyFrameInterval=5
|
@ -264,7 +264,7 @@ securitySalt={{ .Env.SHARED_SECRET }}
|
||||
# Directory where we drop the <meeting-id-recorded>.done file
|
||||
recordStatusDir=/var/bigbluebutton/recording/status/recorded
|
||||
|
||||
redisHost=127.0.0.1
|
||||
redisHost=redis
|
||||
redisPort=6379
|
||||
redisPassword=
|
||||
redisKeyExpiry=1209600
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Handle desktop sharing tunneling. Forwards
|
||||
# requests to Red5 on port 5080.
|
||||
location /screenshare {
|
||||
proxy_pass http://host.docker.internal:5080;
|
||||
proxy_pass http://core:5080;
|
||||
proxy_redirect default;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
client_max_body_size 10m;
|
||||
|
@ -3,7 +3,7 @@
|
||||
proxy_http_version 1.1;
|
||||
|
||||
location /bigbluebutton {
|
||||
proxy_pass http://host.docker.internal:8090;
|
||||
proxy_pass http://core:8090;
|
||||
proxy_redirect default;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
|
||||
location ~ "^\/bigbluebutton\/presentation\/(?<prestoken>[a-zA-Z0-9_-]+)/upload$" {
|
||||
proxy_pass http://host.docker.internal:8090;
|
||||
proxy_pass http://core:8090;
|
||||
proxy_redirect default;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
@ -50,14 +50,14 @@
|
||||
if ($arg_presFilename !~ "^[0-9a-zA-Z]+\.[0-9a-zA-Z]+$") {
|
||||
return 404;
|
||||
}
|
||||
proxy_pass http://host.docker.internal:8090$uri$is_args$args;
|
||||
proxy_pass http://core:8090$uri$is_args$args;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# Workaround IE refusal to set cookies in iframe
|
||||
add_header P3P 'CP="No P3P policy available"';
|
||||
}
|
||||
|
||||
location = /bigbluebutton/presentation/checkPresentation {
|
||||
proxy_pass http://host.docker.internal:8090;
|
||||
proxy_pass http://core:8090;
|
||||
proxy_redirect default;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
@ -82,7 +82,7 @@
|
||||
# and make sure to add sessionToken param in the request URI
|
||||
location = /bigbluebutton/connection/checkAuthorization {
|
||||
internal;
|
||||
proxy_pass http://host.docker.internal:8090;
|
||||
proxy_pass http://core:8090;
|
||||
proxy_pass_request_body off;
|
||||
proxy_set_header Content-Length "";
|
||||
proxy_set_header X-Original-URI $request_uri;
|
||||
@ -119,7 +119,7 @@
|
||||
|
||||
location = /bigbluebutton/textTrack/validateAuthToken {
|
||||
internal;
|
||||
proxy_pass http://host.docker.internal:8090;
|
||||
proxy_pass http://core:8090;
|
||||
proxy_redirect default;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
|
@ -11,7 +11,7 @@ server {
|
||||
# Handle RTMPT (RTMP Tunneling). Forwards requests
|
||||
# to Red5 on port 5080
|
||||
location ~ (/open/|/close/|/idle/|/send/|/fcs/) {
|
||||
proxy_pass http://10.7.7.1:5080;
|
||||
proxy_pass http://core:5080;
|
||||
proxy_redirect off;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
@ -29,7 +29,7 @@ server {
|
||||
# Handle desktop sharing tunneling. Forwards
|
||||
# requests to Red5 on port 5080.
|
||||
location /deskshare {
|
||||
proxy_pass http://10.7.7.1:5080;
|
||||
proxy_pass http://core:5080;
|
||||
proxy_redirect default;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
client_max_body_size 10m;
|
||||
|
Loading…
Reference in New Issue
Block a user