Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions docker-compose.tmpl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,11 @@ services:
# overwrite html5 config
- ./mod/nginx/bbb-html5.dev.nginx:/etc/nginx/bbb/bbb-html5.nginx:ro
{{ end }}
networks:
bbb-net:
ipv4_address: 10.7.7.34
tmpfs:
- /tmp
network_mode: host
extra_hosts:
- "host.docker.internal:10.7.7.1"
- "bbb-web:10.7.7.2"
Expand Down Expand Up @@ -353,8 +355,6 @@ services:
networks:
bbb-net:
ipv4_address: 10.7.7.32
extra_hosts:
- "nginx:10.7.7.1"

{{ if isTrue .Env.DEV_MODE }}
user: ${BBB_DEV_UID}:${BBB_DEV_GID}
Expand Down Expand Up @@ -479,7 +479,12 @@ services:
- IGNORE_TLS_CERT_ERRORS={{$ignore_tls_cert_errors}}
- CERT1=${DOMAIN}
- EMAIL=${LETSENCRYPT_EMAIL}
network_mode: host
ports:
- 80:80
- 443:443
networks:
bbb-net:
ipv4_address: 10.7.7.35
{{end}}

# coturn
Expand Down Expand Up @@ -512,7 +517,7 @@ services:
DATABASE_URL: postgres://postgres:${POSTGRESQL_SECRET:-password}@postgres:5432/greenlight
REDIS_URL: redis://redis:6379
{{ if $ignore_tls_cert_errors }}
BIGBLUEBUTTON_ENDPOINT: http://10.7.7.1:48083/bigbluebutton/api
BIGBLUEBUTTON_ENDPOINT: http://10.7.7.34:48083/bigbluebutton/api
{{else}}
BIGBLUEBUTTON_ENDPOINT: https://${DOMAIN}/bigbluebutton/api
{{end}}
Expand Down
12 changes: 11 additions & 1 deletion docs/existing-web-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,17 @@ You could dedicate a virtual host to BigBlueButton, allowing external access to

## Installation
1. Install BigBlueButton Docker [as explained above](#install). While running the setup script, please choose `n` when you're asked the following question: `Should an automatic HTTPS Proxy be included? (y/n)`.
2. Now all the required Docker containers should be running. BigBlueButton listens to port 48087. Create a virtual host by which BigBlueButton will be publicly accessible (in this case, let's assume the following server name for the virtual host: `bbb.example.com`). Enable SSL for the new _https_ virtual host. Make sure that the SSL certificate you will be using is signed by a CA (Certificate Authority). You could generate an SSL certificate for free using Let's Encrypt. It is suggested to add some directives to the _http_ virtual host `bbb.example.com` to redirect all requests to the _https_ one.
2. Now all the required Docker containers should be running. BigBlueButton listens to port 48087 (among others, but 48087 is intended for external reverse proxies). By default, the port is only opened on the internal bbb-net network created by docker-compose, so either your reverse proxy should run within the same docker-compose file or otherwise have access to the network, or the port should be made available on the host system by adding something like:
```
ports:
- "127.0.0.1:48087:48087
- "[::1]:48087:48087
```
In the `nginx` container config in `docker-compose.yml`.

The rest of this document assumes you did the latter.

3. Create a virtual host by which BigBlueButton will be publicly accessible (in this case, let's assume the following server name for the virtual host: `bbb.example.com`). Enable SSL for the new _https_ virtual host. Make sure that the SSL certificate you will be using is signed by a CA (Certificate Authority). You could generate an SSL certificate for free using Let's Encrypt. It is suggested to add some directives to the _http_ virtual host `bbb.example.com` to redirect all requests to the _https_ one.

At this point, choose one of the following sections according to which Web server you're running ([Apache](#integration-with-apache)).

Expand Down
33 changes: 18 additions & 15 deletions docs/network-config.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,33 @@

## Network Configuration
Services as configured.
|Service | Network | IP address | Other Option |

|Service | Network | IP address |
--- | --- | --- | ---
| html5-dev | network_mode: host | |
| bbb-web | bbb-net | 10.7.7.2 |
| freeswitch| bbb-net | 10.7.7.10 |
| nginx | bbb-net | 10.7.7.34 |
| etherpad | bbb-net | 10.7.7.4 |
| bbb-pads | bbb-net | 10.7.7.18 |
| html5-backend-{{$i}} | bbb-net | 10.7.7.{{add 100 $i}}| Port {{ add 4000 $i }}
| html5-frontend-{{$i}}| bbb-net | 10.7.7.{{add 200 $i}}| Port {{ add 4100 $i }}
| freeswitch| network_mode: host | |
| nginx | network_mode: host| | extra_hosts: <br /> - "host.docker.internal:10.7.7.1"<br /> - "core:10.7.7.2"<br /> - "etherpad:10.7.7.4"<br /> - "webrtc-sfu:10.7.7.10"<br /> - "html5:10.7.7.11"
| etherpad | bbb-net | 10.7.7.4|
| redis | bbb-net | 10.7.7.5|
| mongodb | bbb-net | 10.7.7.6|
| kurento | network-mode: host | |
| webrtc-sfu | bbb-net | | network_mode: host
| bbb-export-annotations | bbb-net | 10.7.7.19 |
| redis | bbb-net | 10.7.7.5 |
| webrtc-sfu | network_mode: host | |
| fsesl-akka | bbb-net | 10.7.7.14 |
| apps-akka | bbb-net | 10.7.7.15 |
| libreoffice | bbb-net | 10.7.7.7 |
| bbb-graphql-server | bbb-net | 10.7.7.31 |
| bbb-graphql-actions | bbb-net | 10.7.7.30 |
| bbb-graphql-middleware | bbb-net | 10.7.7.32 |
| collabora | bbb-net | 10.7.7.20 |
| periodic | bbb-net | 10.7.7.12 |
| recordings | bbb-net | 10.7.7.16 |
| bbb-webrtc-recorder | network_mode: host | |
| webhooks | bbb-net | 10.7.7.17 |
| https_proxy | bbb-net | |network_mode: host
| haproxy | bbb-net | 10.7.7.35 |
| coturn | network_mode: host | |
| greenlight | | | ports: 10.7.7.1:5000:80
| prometheus | bbb-net | 10.7.7.33 |
| bbb-export-annotations | bbb-net | 10.7.7.19 |
| greenlight | bbb-net | 10.7.7.21 |
| postgres | bbb-net | 10.7.7.22 |
| prometheus-exporter | bbb-net | 10.7.7.33 |

```yml
networks:
Expand Down
4 changes: 2 additions & 2 deletions mod/haproxy/haproxy.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ backend turn

backend nginx
mode tcp
server localhost 10.7.7.1:48081 send-proxy check
server localhost 10.7.7.34:48081 send-proxy check

backend nginx-http2
mode tcp
server localhost 10.7.7.1:48082 send-proxy check
server localhost 10.7.7.34:48082 send-proxy check
3 changes: 1 addition & 2 deletions mod/nginx/bigbluebutton
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ upstream hasura {
# server 127.0.0.1:8086;
}
server {
listen 10.7.7.1:8185;
listen 127.0.0.1:8185;
listen 8185;

root /var/www/html;

Expand Down
4 changes: 2 additions & 2 deletions mod/nginx/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ http {
listen 48083 http2;

location /bigbluebutton/api/join {
return 301 https://10.7.7.1$request_uri;
return 301 https://10.7.7.35$request_uri;
}
location /bigbluebutton/api {
proxy_pass http://127.0.0.1:48087;
}
location / {
return 301 https://10.7.7.1$request_uri;
return 301 https://10.7.7.35$request_uri;
}
}

Expand Down