mirror of
https://github.com/bigbluebutton/docker.git
synced 2024-11-21 23:53:11 +01:00
commit
5ff79af7ca
34
.gitmodules
vendored
34
.gitmodules
vendored
@ -1,18 +1,24 @@
|
|||||||
[submodule "bbb-webrtc-sfu"]
|
[submodule "repos/bbb-etherpad-skin"]
|
||||||
path = mod/webrtc-sfu/bbb-webrtc-sfu
|
path = repos/bbb-etherpad-skin
|
||||||
url = https://github.com/bigbluebutton/bbb-webrtc-sfu.git
|
|
||||||
[submodule "mod/etherpad/bbb-etherpad-skin"]
|
|
||||||
path = mod/etherpad/bbb-etherpad-skin
|
|
||||||
url = https://github.com/alangecker/bbb-etherpad-skin
|
url = https://github.com/alangecker/bbb-etherpad-skin
|
||||||
[submodule "mod/etherpad/bbb-etherpad-plugin"]
|
[submodule "repos/bbb-etherpad-plugin"]
|
||||||
path = mod/etherpad/bbb-etherpad-plugin
|
path = repos/bbb-etherpad-plugin
|
||||||
url = https://github.com/alangecker/bbb-etherpad-plugin
|
url = https://github.com/alangecker/bbb-etherpad-plugin
|
||||||
[submodule "mod/bbb-pads/bbb-pads"]
|
[submodule "repos/bbb-webhooks"]
|
||||||
path = mod/bbb-pads/bbb-pads
|
path = repos/bbb-webhooks
|
||||||
url = https://github.com/bigbluebutton/bbb-pads
|
|
||||||
[submodule "mod/webhooks/bbb-webhooks"]
|
|
||||||
path = mod/webhooks/bbb-webhooks
|
|
||||||
url = https://github.com/bigbluebutton/bbb-webhooks
|
url = https://github.com/bigbluebutton/bbb-webhooks
|
||||||
[submodule "mod/nginx/bbb-playback"]
|
[submodule "repos/bbb-playback"]
|
||||||
path = mod/nginx/bbb-playback
|
path = repos/bbb-playback
|
||||||
url = https://github.com/bigbluebutton/bbb-playback
|
url = https://github.com/bigbluebutton/bbb-playback
|
||||||
|
[submodule "repos/freeswitch"]
|
||||||
|
path = repos/freeswitch
|
||||||
|
url = https://github.com/signalwire/freeswitch.git
|
||||||
|
[submodule "repos/bigbluebutton"]
|
||||||
|
path = repos/bigbluebutton
|
||||||
|
url = https://github.com/bigbluebutton/bigbluebutton.git
|
||||||
|
[submodule "repos/bbb-webrtc-sfu"]
|
||||||
|
path = repos/bbb-webrtc-sfu
|
||||||
|
url = https://github.com/bigbluebutton/bbb-webrtc-sfu.git
|
||||||
|
[submodule "repos/bbb-pads"]
|
||||||
|
path = repos/bbb-pads
|
||||||
|
url = https://github.com/bigbluebutton/bbb-pads.git
|
||||||
|
12
CHANGELOG.md
12
CHANGELOG.md
@ -2,6 +2,18 @@
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
## Release v2.7.3 (2023-12-08)
|
||||||
|
|
||||||
|
**Breaking change!** make sure to read the [upgrading notes](https://github.com/bigbluebutton/docker/blob/develop/docs/upgrading.md)
|
||||||
|
|
||||||
|
- BigBlueButton 2.7.3 @alangecker [#304](https://github.com/bigbluebutton/docker/pull/304)
|
||||||
|
- use local sources instead of pulling inside container @alangecker [#307](https://github.com/bigbluebutton/docker/pull/307)
|
||||||
|
- BigBlueButton 2.7.0 @alangecker [#291](https://github.com/bigbluebutton/docker/pull/291)
|
||||||
|
- Update to ComposeV2 @leonidas-o [#271](https://github.com/bigbluebutton/docker/pull/271)
|
||||||
|
- recordings: fix for missing `SHARED_SECRET` @ichdasich [#274](https://github.com/bigbluebutton/docker/issues/274) [#268](https://github.com/bigbluebutton/docker/issues/268)
|
||||||
|
- Add RESOLVER_ADDRESS to env for docker-nginx-auto-ssl @pkolmann [#277](https://github.com/bigbluebutton/docker/pull/277)
|
||||||
|
- Fix learning-dashboard @yanus [#262](https://github.com/bigbluebutton/docker/pull/262)
|
||||||
|
|
||||||
## Release v2.6.0-2 (2023-04-04)
|
## Release v2.6.0-2 (2023-04-04)
|
||||||
- hotfix for broken freeswitch container due to enabled compresion with max file count == 1 [#260](https://github.com/bigbluebutton/docker/issues/260)
|
- hotfix for broken freeswitch container due to enabled compresion with max file count == 1 [#260](https://github.com/bigbluebutton/docker/issues/260)
|
||||||
|
|
||||||
|
22
README.md
22
README.md
@ -1,9 +1,9 @@
|
|||||||
<img width="1012" alt="bbb-docker-banner" src="https://user-images.githubusercontent.com/1273169/141153216-0386cd4e-0aaf-473a-8f42-a048e52ed0d7.png">
|
<img width="1012" alt="bbb-docker-banner" src="https://user-images.githubusercontent.com/1273169/141153216-0386cd4e-0aaf-473a-8f42-a048e52ed0d7.png">
|
||||||
|
|
||||||
|
|
||||||
# 📦 BigBlueButton 2.6 Docker
|
# 📦 BigBlueButton 2.7 Docker
|
||||||
|
|
||||||
Version: 2.6.0 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigbluebutton/docker/issues)
|
Version: 2.7.3 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigbluebutton/docker/issues)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
- Easy installation
|
- Easy installation
|
||||||
@ -13,22 +13,28 @@ Version: 2.6.0 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigblue
|
|||||||
- Full IPv6 support
|
- Full IPv6 support
|
||||||
- Runs on any major linux distributon (Debian, Ubuntu, CentOS,...)
|
- Runs on any major linux distributon (Debian, Ubuntu, CentOS,...)
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
- 4GB of RAM
|
||||||
|
- Linux (it will not work under WSL)
|
||||||
|
- Root access (bbb-docker uses host networking, so it won't work with Kubernetes, any "CaaS"-Service, etc.)
|
||||||
|
- Public IPv4 (expect issues with a firewall / NAT)
|
||||||
|
|
||||||
## What is not implemented yet
|
## What is not implemented yet
|
||||||
- bbb-lti
|
- bbb-lti
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
1. Install docker-ce & docker-compose
|
1. Install docker-ce & docker-compose-plugin
|
||||||
1. follow instructions
|
1. follow instructions
|
||||||
* Debian: https://docs.docker.com/engine/install/debian/
|
* Debian: https://docs.docker.com/engine/install/debian/
|
||||||
* CentOS: https://docs.docker.com/engine/install/centos/
|
* CentOS: https://docs.docker.com/engine/install/centos/
|
||||||
* Fedora: https://docs.docker.com/engine/install/fedora/
|
* Fedora: https://docs.docker.com/engine/install/fedora/
|
||||||
* Ubuntu: https://docs.docker.com/engine/install/ubuntu/
|
* Ubuntu: https://docs.docker.com/engine/install/ubuntu/
|
||||||
2. Ensure docker works with `$ docker run hello-world`
|
2. Ensure docker works with `$ docker run hello-world`
|
||||||
3. Install docker-compose: https://docs.docker.com/compose/install/
|
3. Install docker compose V2: https://docs.docker.com/compose/install/
|
||||||
4. Ensure docker-compose works and that you use a version ≥ 1.28 : `$ docker-compose --version`
|
4. Ensure docker compose works and that you use a version ≥ 1.28 : `$ docker compose --version`
|
||||||
2. Clone this repository
|
2. Clone this repository
|
||||||
```sh
|
```sh
|
||||||
$ git clone --recurse-submodules https://github.com/bigbluebutton/docker.git bbb-docker
|
$ git clone https://github.com/bigbluebutton/docker.git bbb-docker
|
||||||
$ cd bbb-docker
|
$ cd bbb-docker
|
||||||
|
|
||||||
# use the more stable main branch (sometimes older)
|
# use the more stable main branch (sometimes older)
|
||||||
@ -46,11 +52,11 @@ Version: 2.6.0 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigblue
|
|||||||
```
|
```
|
||||||
5. Start containers:
|
5. Start containers:
|
||||||
```bash
|
```bash
|
||||||
$ docker-compose up -d
|
$ docker compose up -d --no-build
|
||||||
```
|
```
|
||||||
6. If you use greenlight, you can create an admin account with:
|
6. If you use greenlight, you can create an admin account with:
|
||||||
```bash
|
```bash
|
||||||
$ docker-compose exec greenlight bundle exec rake admin:create
|
$ docker compose exec greenlight bundle exec rake admin:create
|
||||||
```
|
```
|
||||||
|
|
||||||
## Further How-To's
|
## Further How-To's
|
||||||
|
@ -9,10 +9,12 @@ version: '3.6'
|
|||||||
x-html5-backend: &html5backend
|
x-html5-backend: &html5backend
|
||||||
build:
|
build:
|
||||||
context: mod/html5
|
context: mod/html5
|
||||||
|
additional_contexts:
|
||||||
|
- source=./repos/bigbluebutton/bigbluebutton-html5
|
||||||
args:
|
args:
|
||||||
BBB_BUILD_TAG: {{ .Env.BBB_BUILD_TAG }}
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
||||||
TAG_HTML5: {{ .Env.TAG_HTML5 }}
|
TAG_BBB: {{ .Env.TAG_BBB }}
|
||||||
image: alangecker/bbb-docker-html5:{{ .Env.TAG_HTML5 }}
|
image: alangecker/bbb-docker-html5:{{ .Env.TAG_BBB }}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
@ -44,11 +46,13 @@ services:
|
|||||||
bbb-web:
|
bbb-web:
|
||||||
build:
|
build:
|
||||||
context: mod/bbb-web
|
context: mod/bbb-web
|
||||||
|
additional_contexts:
|
||||||
|
- src-web=./repos/bigbluebutton/bigbluebutton-web
|
||||||
|
- src-common-message=./repos/bigbluebutton/bbb-common-message
|
||||||
|
- src-common-web=./repos/bigbluebutton/bbb-common-web
|
||||||
args:
|
args:
|
||||||
BBB_BUILD_TAG: {{ .Env.BBB_BUILD_TAG }}
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
||||||
TAG_COMMON_MESSAGE: {{ .Env.TAG_COMMON_MESSAGE }}
|
image: alangecker/bbb-docker-web:{{ .Env.TAG_BBB }}
|
||||||
TAG_BBB_WEB: {{ .Env.TAG_BBB_WEB }}
|
|
||||||
image: alangecker/bbb-docker-web:{{ .Env.TAG_BBB_WEB }}
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
@ -106,12 +110,13 @@ services:
|
|||||||
container_name: bbb-freeswitch
|
container_name: bbb-freeswitch
|
||||||
build:
|
build:
|
||||||
context: mod/freeswitch
|
context: mod/freeswitch
|
||||||
|
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/
|
||||||
args:
|
args:
|
||||||
BBB_BUILD_TAG: {{ .Env.BBB_BUILD_TAG }}
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
||||||
TAG_FS_BUILD_FILES: {{ .Env.TAG_FS_BUILD_FILES }}
|
image: alangecker/bbb-docker-freeswitch:{{ .Env.TAG_FREESWITCH }}-{{ .Env.TAG_BBB }}
|
||||||
TAG_FS_CONFIG: {{ .Env.TAG_FS_CONFIG }}
|
|
||||||
TAG_FREESWITCH: {{ .Env.TAG_FREESWITCH }}
|
|
||||||
image: alangecker/bbb-docker-freeswitch:{{ .Env.TAG_FS_CONFIG }}
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
cap_add:
|
cap_add:
|
||||||
- IPC_LOCK
|
- IPC_LOCK
|
||||||
@ -135,7 +140,7 @@ services:
|
|||||||
- vol-freeswitch:/var/freeswitch/meetings
|
- vol-freeswitch:/var/freeswitch/meetings
|
||||||
network_mode: host
|
network_mode: host
|
||||||
logging:
|
logging:
|
||||||
# reduce logs to a minimum, so `docker-compose logs -f` still works
|
# reduce logs to a minimum, so `docker compose logs -f` still works
|
||||||
driver: "local"
|
driver: "local"
|
||||||
options:
|
options:
|
||||||
max-size: "10k"
|
max-size: "10k"
|
||||||
@ -145,10 +150,12 @@ services:
|
|||||||
nginx:
|
nginx:
|
||||||
build:
|
build:
|
||||||
context: mod/nginx
|
context: mod/nginx
|
||||||
|
additional_contexts:
|
||||||
|
- src-learning-dashboard=./repos/bigbluebutton/bbb-learning-dashboard
|
||||||
|
- src-playback=./repos/bbb-playback
|
||||||
args:
|
args:
|
||||||
BBB_BUILD_TAG: {{ .Env.BBB_BUILD_TAG }}
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
||||||
TAG_LEARNING_DASHBOARD: {{ .Env.TAG_LEARNING_DASHBOARD }}
|
image: alangecker/bbb-docker-nginx:1.23-{{ .Env.TAG_PLAYBACK }}-{{ .Env.TAG_BBB }}
|
||||||
image: alangecker/bbb-docker-nginx:1.23-{{ .Env.TAG_PLAYBACK }}-{{ .Env.TAG_LEARNING_DASHBOARD }}
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- etherpad
|
- etherpad
|
||||||
@ -168,8 +175,14 @@ services:
|
|||||||
- "greenlight:10.7.7.21"
|
- "greenlight:10.7.7.21"
|
||||||
|
|
||||||
etherpad:
|
etherpad:
|
||||||
build: mod/etherpad
|
build:
|
||||||
image: alangecker/bbb-docker-etherpad:1.8.18-3
|
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 }}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
@ -180,7 +193,10 @@ services:
|
|||||||
ipv4_address: 10.7.7.4
|
ipv4_address: 10.7.7.4
|
||||||
|
|
||||||
bbb-pads:
|
bbb-pads:
|
||||||
build: mod/bbb-pads
|
build:
|
||||||
|
context: mod/bbb-pads
|
||||||
|
additional_contexts:
|
||||||
|
- src=./repos/bbb-pads
|
||||||
image: alangecker/bbb-docker-pads:{{ .Env.TAG_PADS }}
|
image: alangecker/bbb-docker-pads:{{ .Env.TAG_PADS }}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
@ -193,7 +209,7 @@ services:
|
|||||||
ipv4_address: 10.7.7.18
|
ipv4_address: 10.7.7.18
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:7.0-alpine
|
image: redis:7.2-alpine
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "redis-cli", "ping"]
|
test: ["CMD", "redis-cli", "ping"]
|
||||||
@ -232,18 +248,23 @@ services:
|
|||||||
webrtc-sfu:
|
webrtc-sfu:
|
||||||
build:
|
build:
|
||||||
context: mod/webrtc-sfu
|
context: mod/webrtc-sfu
|
||||||
|
additional_contexts:
|
||||||
|
- source=./repos/bbb-webrtc-sfu
|
||||||
args:
|
args:
|
||||||
BBB_BUILD_TAG: {{ .Env.BBB_BUILD_TAG }}
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
||||||
image: alangecker/bbb-docker-webrtc-sfu:{{ .Env.TAG_WEBRTC_SFU }}
|
image: alangecker/bbb-docker-webrtc-sfu:{{ .Env.TAG_WEBRTC_SFU }}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
- freeswitch
|
- freeswitch
|
||||||
|
- kurento
|
||||||
environment:
|
environment:
|
||||||
CLIENT_HOST: 10.7.7.1
|
CLIENT_HOST: 10.7.7.1
|
||||||
REDIS_HOST: 10.7.7.5
|
REDIS_HOST: 10.7.7.5
|
||||||
FREESWITCH_IP: 10.7.7.1
|
FREESWITCH_IP: 10.7.7.1
|
||||||
FREESWITCH_SIP_IP: ${EXTERNAL_IPv4}
|
FREESWITCH_SIP_IP: ${EXTERNAL_IPv4}
|
||||||
|
MCS_HOST: 0.0.0.0
|
||||||
|
MCS_ADDRESS: 127.0.0.1
|
||||||
ESL_IP: 10.7.7.1
|
ESL_IP: 10.7.7.1
|
||||||
ESL_PASSWORD: ${FSESL_PASSWORD:-ClueCon}
|
ESL_PASSWORD: ${FSESL_PASSWORD:-ClueCon}
|
||||||
# TODO: add mediasoup IPv6
|
# TODO: add mediasoup IPv6
|
||||||
@ -263,11 +284,13 @@ services:
|
|||||||
fsesl-akka:
|
fsesl-akka:
|
||||||
build:
|
build:
|
||||||
context: mod/fsesl-akka
|
context: mod/fsesl-akka
|
||||||
|
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
|
||||||
args:
|
args:
|
||||||
BBB_BUILD_TAG: {{ .Env.BBB_BUILD_TAG }}
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
||||||
TAG_COMMON_MESSAGE: {{ .Env.TAG_COMMON_MESSAGE }}
|
image: alangecker/bbb-docker-fsesl-akka:{{ .Env.TAG_BBB }}
|
||||||
TAG_FSESL_AKKA: {{ .Env.TAG_FSESL_AKKA }}
|
|
||||||
image: alangecker/bbb-docker-fsesl-akka:{{ .Env.TAG_FSESL_AKKA }}
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
@ -281,11 +304,12 @@ services:
|
|||||||
apps-akka:
|
apps-akka:
|
||||||
build:
|
build:
|
||||||
context: mod/apps-akka
|
context: mod/apps-akka
|
||||||
|
additional_contexts:
|
||||||
|
- src-common-message=./repos/bigbluebutton/bbb-common-message
|
||||||
|
- src-apps-akka=./repos/bigbluebutton/akka-bbb-apps
|
||||||
args:
|
args:
|
||||||
BBB_BUILD_TAG: {{ .Env.BBB_BUILD_TAG }}
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
||||||
TAG_COMMON_MESSAGE: {{ .Env.TAG_COMMON_MESSAGE }}
|
image: alangecker/bbb-docker-apps-akka:{{ .Env.TAG_BBB }}
|
||||||
TAG_APPS_AKKA: {{ .Env.TAG_APPS_AKKA }}
|
|
||||||
image: alangecker/bbb-docker-apps-akka:{{ .Env.TAG_APPS_AKKA }}
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
@ -316,7 +340,7 @@ services:
|
|||||||
|
|
||||||
periodic:
|
periodic:
|
||||||
build: mod/periodic
|
build: mod/periodic
|
||||||
image: alangecker/bbb-docker-periodic:v2.5.0-rc.1
|
image: alangecker/bbb-docker-periodic:v2.7.0
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- mongodb
|
- mongodb
|
||||||
@ -339,17 +363,21 @@ services:
|
|||||||
recordings:
|
recordings:
|
||||||
build:
|
build:
|
||||||
context: mod/recordings
|
context: mod/recordings
|
||||||
|
additional_contexts:
|
||||||
|
- record-core=./repos/bigbluebutton/record-and-playback/core
|
||||||
|
- presentation=./repos/bigbluebutton/record-and-playback/presentation
|
||||||
|
- bbb-conf=./repos/bigbluebutton/bigbluebutton-config
|
||||||
args:
|
args:
|
||||||
BBB_BUILD_TAG: {{ .Env.BBB_BUILD_TAG }}
|
BBB_BUILD_TAG: bbb27-2023-06-13-java17
|
||||||
TAG_RECORDINGS: {{ .Env.TAG_RECORDINGS }}
|
TAG_BBB_PRESENTATION_VIDEO: "4.0.3"
|
||||||
TAG_BBB_PRESENTATION_VIDEO: {{ .Env.TAG_BBB_PRESENTATION_VIDEO }}
|
image: alangecker/bbb-docker-recordings:{{ .Env.TAG_BBB }}
|
||||||
image: alangecker/bbb-docker-recordings:{{ .Env.TAG_RECORDINGS }}
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
- bbb-pads
|
- bbb-pads
|
||||||
environment:
|
environment:
|
||||||
DOMAIN: ${DOMAIN}
|
DOMAIN: ${DOMAIN}
|
||||||
|
SHARED_SECRET: ${SHARED_SECRET}
|
||||||
volumes:
|
volumes:
|
||||||
- bigbluebutton:/var/bigbluebutton
|
- bigbluebutton:/var/bigbluebutton
|
||||||
- vol-freeswitch:/var/freeswitch/meetings
|
- vol-freeswitch:/var/freeswitch/meetings
|
||||||
@ -366,7 +394,10 @@ services:
|
|||||||
{{ if isTrue .Env.ENABLE_WEBHOOKS }}
|
{{ if isTrue .Env.ENABLE_WEBHOOKS }}
|
||||||
# webhooks
|
# webhooks
|
||||||
webhooks:
|
webhooks:
|
||||||
build: mod/webhooks
|
build:
|
||||||
|
context: mod/webhooks
|
||||||
|
additional_contexts:
|
||||||
|
- src=./repos/bbb-webhooks
|
||||||
image: alangecker/bbb-docker-webhooks:{{ .Env.TAG_WEBHOOKS }}
|
image: alangecker/bbb-docker-webhooks:{{ .Env.TAG_WEBHOOKS }}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
@ -401,6 +432,7 @@ services:
|
|||||||
{{else}}
|
{{else}}
|
||||||
ALLOWED_DOMAINS: ${DOMAIN}
|
ALLOWED_DOMAINS: ${DOMAIN}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
RESOLVER_ADDRESS: ${RESOLVER_ADDRESS:-9.9.9.9}
|
||||||
network_mode: host
|
network_mode: host
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
@ -432,7 +464,7 @@ services:
|
|||||||
{{ if isTrue .Env.ENABLE_GREENLIGHT }}
|
{{ if isTrue .Env.ENABLE_GREENLIGHT }}
|
||||||
# greenlight
|
# greenlight
|
||||||
greenlight:
|
greenlight:
|
||||||
image: bigbluebutton/greenlight:{{ .Env.TAG_GREENLIGHT }}-alpine
|
image: bigbluebutton/greenlight:v3.0.6.1
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
env_file: .env
|
env_file: .env
|
||||||
depends_on:
|
depends_on:
|
||||||
@ -449,6 +481,7 @@ services:
|
|||||||
{{end}}
|
{{end}}
|
||||||
BIGBLUEBUTTON_SECRET: ${SHARED_SECRET}
|
BIGBLUEBUTTON_SECRET: ${SHARED_SECRET}
|
||||||
SECRET_KEY_BASE: ${RAILS_SECRET}
|
SECRET_KEY_BASE: ${RAILS_SECRET}
|
||||||
|
RELATIVE_URL_ROOT: /
|
||||||
volumes:
|
volumes:
|
||||||
- ./greenlight-data:/usr/src/app/storage
|
- ./greenlight-data:/usr/src/app/storage
|
||||||
networks:
|
networks:
|
||||||
@ -490,6 +523,11 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- bigbluebutton:/var/bigbluebutton:ro
|
- bigbluebutton:/var/bigbluebutton:ro
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
|
# the exporter requires /etc/bigbluebutton/bigbluebutton-release
|
||||||
|
tmpfs:
|
||||||
|
- /etc/bigbluebutton:mode=777
|
||||||
|
entrypoint: sh -c 'echo "BIGBLUEBUTTON_RELEASE=2.7.3" > /etc/bigbluebutton/bigbluebutton-release && python server.py'
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,11 +42,11 @@ RAILS_SECRET=SuperRailsSecret_SuperRailsSecret
|
|||||||
- regenerate `docker-compose.yml` \
|
- regenerate `docker-compose.yml` \
|
||||||
`$ ./scripts/generate-compose`
|
`$ ./scripts/generate-compose`
|
||||||
- build the images \
|
- build the images \
|
||||||
`$ docker-compose build`
|
`$ docker compose build`
|
||||||
- you can than start it with \
|
- you can than start it with \
|
||||||
`$ docker-compose up -d`
|
`$ docker compose up -d`
|
||||||
- view the logs with \
|
- view the logs with \
|
||||||
`$ docker-compose logs -f`
|
`$ docker compose logs -f`
|
||||||
- and access the API via \
|
- and access the API via \
|
||||||
https://mconf.github.io/api-mate/#server=https://10.7.7.1/bigbluebutton/api&sharedSecret=SuperSecret
|
https://mconf.github.io/api-mate/#server=https://10.7.7.1/bigbluebutton/api&sharedSecret=SuperSecret
|
||||||
* At some point your browser will warn you about an invalid certificate, but you can press _"Accept the Risk and Continue" / "Proceed to 10.7.7.1 (unsafe)"_
|
* At some point your browser will warn you about an invalid certificate, but you can press _"Accept the Risk and Continue" / "Proceed to 10.7.7.1 (unsafe)"_
|
||||||
@ -60,9 +60,9 @@ RAILS_SECRET=SuperRailsSecret_SuperRailsSecret
|
|||||||
- recreate `docker-compose.yml` \
|
- recreate `docker-compose.yml` \
|
||||||
`$ ./scripts/generate-compose`
|
`$ ./scripts/generate-compose`
|
||||||
* rebuild the image(s): \
|
* rebuild the image(s): \
|
||||||
`$ docker-compose build [containername]`
|
`$ docker compose build [containername]`
|
||||||
* restart changes image(s): \
|
* restart changes image(s): \
|
||||||
`$ docker-compose up -d`
|
`$ docker compose up -d`
|
||||||
|
|
||||||
|
|
||||||
## How to do create a new update for a newer BBB release?
|
## How to do create a new update for a newer BBB release?
|
||||||
@ -70,12 +70,8 @@ This always consists out of following steps
|
|||||||
1. **Get an understanding about changes that happened and find out what changes to bbb-docker that require.** \
|
1. **Get an understanding about changes that happened and find out what changes to bbb-docker that require.** \
|
||||||
* main source for that are the release notes in https://github.com/bigbluebutton/bigbluebutton/releases
|
* main source for that are the release notes in https://github.com/bigbluebutton/bigbluebutton/releases
|
||||||
2. **Apply these changes to this project.**
|
2. **Apply these changes to this project.**
|
||||||
* Often you only need to update the TAGS in `tags.env`
|
* Often you only need to checkout the git submodules to the specific release tag
|
||||||
* make sure only to switch to a newer tag if there were changes made avoid creating new (partialy big) images unnecessarily
|
* List of all submodules: `git submodule`
|
||||||
* Also update submodules to the new state.
|
|
||||||
* List of all submodules `git submodule`
|
|
||||||
* for the main submodules you can use `./scripts/checkout-submodules` to checkout the tags specified in `tags.env`
|
|
||||||
|
|
||||||
3. Test everything (with firefox **and** chromium/chrome)
|
3. Test everything (with firefox **and** chromium/chrome)
|
||||||
* Audio
|
* Audio
|
||||||
* Video
|
* Video
|
||||||
|
@ -1,16 +1,22 @@
|
|||||||
# How To Upgrade bbb-docker
|
# How To Upgrade bbb-docker
|
||||||
|
|
||||||
|
### Upgrading from `v2.6.x`
|
||||||
|
- **Breaking change:** We use now Docker Compose V2
|
||||||
|
* make sure you have docker ≥ 23.0 installed (`$ docker -v`)
|
||||||
|
* update all usages of `docker-compose` to `docker compose` in your scripts
|
||||||
|
|
||||||
### Upgrading `v2.5.x` -> `v2.6.x`
|
apart from that follow the guide (_within v2.7.x_) below.
|
||||||
|
|
||||||
- *Breaking change:* Greenlight got fully rewritten
|
### Upgrading from `v2.5.x`
|
||||||
|
|
||||||
|
- **Breaking change:** Greenlight got fully rewritten
|
||||||
* it is starting as a fresh installation. you can migrate your data with `./scripts/greenlight-migrate-v2-v3`
|
* it is starting as a fresh installation. you can migrate your data with `./scripts/greenlight-migrate-v2-v3`
|
||||||
* some greenlight settings under `.env` have changed. compare your version with `sample.env`
|
* some greenlight settings under `.env` have changed. compare your version with `sample.env`
|
||||||
* it is now served directly under `/` and not in `/b`. If you use an reverse proxy not included in this repo, ensure to update your config accordingly!
|
* it is now served directly under `/` and not in `/b`. If you use an reverse proxy not included in this repo, ensure to update your config accordingly!
|
||||||
|
|
||||||
apart from that follow the guide below.
|
apart from that follow the guide below.
|
||||||
|
|
||||||
### within `v2.6.x`
|
### within `v2.7.x`
|
||||||
#### Backup
|
#### Backup
|
||||||
if you use greenlight, create a database backup first
|
if you use greenlight, create a database backup first
|
||||||
```bash
|
```bash
|
||||||
@ -23,5 +29,5 @@ docker exec -t docker_postgres_1 pg_dumpall -c -U postgres > /root/greenlight_`d
|
|||||||
./scripts/upgrade
|
./scripts/upgrade
|
||||||
|
|
||||||
# restart updated services
|
# restart updated services
|
||||||
docker-compose up -d
|
docker compose up -d --no-build
|
||||||
```
|
```
|
||||||
|
@ -1,20 +1,16 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:$BBB_BUILD_TAG AS builder
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder
|
||||||
|
|
||||||
ARG TAG_COMMON_MESSAGE
|
COPY --from=src-common-message / /bbb-common-message
|
||||||
|
|
||||||
# download bbb-common-message
|
# build bbb-common-message
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
|
RUN cd /bbb-common-message && ./deploy.sh
|
||||||
&& cd /bbb-common-message \
|
|
||||||
&& ./deploy.sh \
|
|
||||||
&& rm -rf /bbb-common-message
|
|
||||||
|
|
||||||
# ===================================================
|
# ===================================================
|
||||||
|
|
||||||
ARG TAG_APPS_AKKA
|
ARG TAG_APPS_AKKA
|
||||||
|
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_APPS_AKKA/akka-bbb-apps /source \
|
COPY --from=src-apps-akka / /source
|
||||||
&& rm -rf /source/.svn
|
|
||||||
|
|
||||||
# compile and unzip bin
|
# compile and unzip bin
|
||||||
RUN cd /source \
|
RUN cd /source \
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM openjdk:11-jre-slim-bullseye
|
FROM eclipse-temurin:17-jre-jammy
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
wget unzip gosu locales \
|
wget unzip gosu locales \
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
FROM node:16-bullseye-slim AS builder
|
FROM node:18-bullseye-slim AS builder
|
||||||
|
|
||||||
COPY ./bbb-pads /bbb-pads
|
COPY --from=src / /bbb-pads
|
||||||
RUN cd /bbb-pads && rm -r .git && npm install --production
|
RUN cd /bbb-pads && rm -r .git && npm install --production
|
||||||
|
|
||||||
|
|
||||||
RUN chmod 777 /bbb-pads/config
|
RUN chmod 777 /bbb-pads/config
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
FROM node:16-bullseye-slim
|
FROM node:18-bullseye-slim
|
||||||
|
|
||||||
RUN apt update && apt install -y jq moreutils \
|
RUN apt update && apt install -y jq moreutils \
|
||||||
&& useradd --uid 2003 --create-home --user-group bbb-pads
|
&& useradd --uid 2003 --create-home --user-group bbb-pads
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 570921cff678e4e627a37e781c2a33a50be521f2
|
|
@ -1,29 +1,19 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:$BBB_BUILD_TAG AS builder
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder
|
||||||
|
|
||||||
ARG TAG_COMMON_MESSAGE
|
COPY --from=src-common-message / /bbb-common-message
|
||||||
|
|
||||||
# download bbb-common-message
|
# build bbb-common-message
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
|
RUN cd /bbb-common-message && ./deploy.sh
|
||||||
&& cd /bbb-common-message \
|
|
||||||
&& ./deploy.sh \
|
|
||||||
&& rm -rf /bbb-common-message
|
|
||||||
|
|
||||||
# ===================================================
|
# ===================================================
|
||||||
|
|
||||||
ARG TAG_BBB_WEB
|
|
||||||
|
|
||||||
# download bbb-common-web
|
COPY --from=src-common-web / /bbb-common-web
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_BBB_WEB/bbb-common-web /bbb-common-web \
|
# build bbb-common-web
|
||||||
&& rm -rf /bbb-common-message/.svn
|
RUN cd /bbb-common-web && ./deploy.sh
|
||||||
|
|
||||||
# compile bbb-common-web
|
COPY --from=src-web / /bbb-web
|
||||||
RUN cd /bbb-common-web \
|
|
||||||
&& ./deploy.sh
|
|
||||||
|
|
||||||
# download bbb-web
|
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_BBB_WEB/bigbluebutton-web /bbb-web \
|
|
||||||
&& rm -rf /bbb-web/.svn
|
|
||||||
|
|
||||||
# compile bbb-web
|
# compile bbb-web
|
||||||
RUN cd /bbb-web && grails assemble
|
RUN cd /bbb-web && grails assemble
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
FROM etherpad/etherpad:1.8.18
|
ARG TAG_ETHERPAD
|
||||||
|
FROM etherpad/etherpad:$TAG_ETHERPAD
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apk add git curl
|
||||||
&& apt-get install -y git curl
|
|
||||||
|
|
||||||
USER etherpad
|
USER etherpad
|
||||||
|
|
||||||
RUN npm install \
|
RUN npm install \
|
||||||
ep_cursortrace@3.1.16 \
|
ep_cursortrace@3.1.16 \
|
||||||
git+https://github.com/mconf/ep_pad_ttl.git#360136cd38493dd698435631f2373cbb7089082d \
|
git+https://github.com/mconf/ep_pad_ttl.git#360136cd38493dd698435631f2373cbb7089082d \
|
||||||
git+https://github.com/mconf/ep_redis_publisher.git#a30a48e4bc1e501b5b102884b9a0b26c30798484 \
|
git+https://github.com/mconf/ep_redis_publisher.git#2b6e47c1c59362916a0b2961a29b259f2977b694 \
|
||||||
ep_disable_chat@0.0.8 \
|
ep_disable_chat@0.0.8 \
|
||||||
ep_auth_session@1.1.1 \
|
ep_auth_session@1.1.1 \
|
||||||
# remove npm lockfile, because somehow it prevents etherpad from detecting the manual added plugin ep_bigbluebutton_patches
|
# remove npm lockfile, because somehow it prevents etherpad from detecting the manual added plugin ep_bigbluebutton_patches
|
||||||
&& rm package-lock.json
|
&& rm package-lock.json package.json
|
||||||
|
|
||||||
# add skin from git submodule
|
# add skin from git submodule
|
||||||
COPY --chown=etherpad:0 ./bbb-etherpad-skin /opt/etherpad-lite/src/static/skins/bigbluebutton
|
COPY --chown=etherpad:0 --from=skin / /opt/etherpad-lite/src/static/skins/bigbluebutton
|
||||||
|
|
||||||
# add plugin from git submodule
|
# add plugin from git submodule
|
||||||
COPY --chown=etherpad:0 ./bbb-etherpad-plugin /opt/etherpad-lite/node_modules/ep_bigbluebutton_patches
|
COPY --chown=etherpad:0 --from=plugin / /opt/etherpad-lite/node_modules/ep_bigbluebutton_patches
|
||||||
|
|
||||||
COPY settings.json /opt/etherpad-lite/settings.json
|
COPY settings.json /opt/etherpad-lite/settings.json
|
||||||
COPY etherpad-export.sh /etherpad-export.sh
|
COPY etherpad-export.sh /etherpad-export.sh
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
echo $ETHERPAD_API_KEY > /tmp/apikey
|
echo $ETHERPAD_API_KEY > /tmp/apikey
|
||||||
export NODE_ENV=production
|
export NODE_ENV=production
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
src="$8"
|
src="$8"
|
||||||
dest="$(echo $8 | sed -E -e 's/html|odt/'$7'/')"
|
dest="$(echo $8 | sed -E -e 's/html|odt/'$7'/')"
|
||||||
convertTo="$7"
|
convertTo="$7"
|
||||||
|
@ -89,7 +89,7 @@
|
|||||||
*
|
*
|
||||||
* "defaultPadText" : "${DEFAULT_PAD_TEXT}Line 1\nLine 2"
|
* "defaultPadText" : "${DEFAULT_PAD_TEXT}Line 1\nLine 2"
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Name your instance!
|
* Name your instance!
|
||||||
*/
|
*/
|
||||||
@ -198,8 +198,7 @@
|
|||||||
|
|
||||||
"dbType": "redis",
|
"dbType": "redis",
|
||||||
"dbSettings": {
|
"dbSettings": {
|
||||||
"host": "redis",
|
"url": "redis://redis:6379"
|
||||||
"port": 6379
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -220,9 +219,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The default text of a pad
|
* The default text of a pad: A zero-width-space is used to work around an issue with Etherpad 1.9.1 where empty pads are not being created.
|
||||||
*/
|
* See: https://github.com/ether/etherpad-lite/issues/5787
|
||||||
"defaultPadText" : "",
|
*/
|
||||||
|
"defaultPadText" : "\u200b",
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default Pad behavior.
|
* Default Pad behavior.
|
||||||
@ -539,7 +539,7 @@
|
|||||||
"windowMs": 90000,
|
"windowMs": 90000,
|
||||||
|
|
||||||
// maximum number of requests per IP to allow during the rate limit window
|
// maximum number of requests per IP to allow during the rate limit window
|
||||||
"max": 10
|
"max": 16
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -597,7 +597,40 @@
|
|||||||
"loglevel": "INFO",
|
"loglevel": "INFO",
|
||||||
|
|
||||||
/* Override any strings found in locale directories */
|
/* Override any strings found in locale directories */
|
||||||
"customLocaleStrings": {},
|
"customLocaleStrings": {
|
||||||
|
"de": {
|
||||||
|
"pad.importExport.import_export": "Export",
|
||||||
|
"pad.toolbar.import_export.title": "Export zu verschiedenen Dateiformaten"
|
||||||
|
},
|
||||||
|
"en-gb": {
|
||||||
|
"pad.importExport.import_export": "Export",
|
||||||
|
"pad.toolbar.import_export.title": "Export to different file formats"
|
||||||
|
},
|
||||||
|
"en": {
|
||||||
|
"pad.importExport.import_export": "Export",
|
||||||
|
"pad.toolbar.import_export.title": "Export to different file formats"
|
||||||
|
},
|
||||||
|
"es": {
|
||||||
|
"pad.importExport.import_export": "Exportar",
|
||||||
|
"pad.toolbar.import_export.title": "Exportar a diferentes formatos de archivos"
|
||||||
|
},
|
||||||
|
"fr": {
|
||||||
|
"pad.importExport.import_export": "Exporter",
|
||||||
|
"pad.toolbar.import_export.title": "Exporter vers un format de fichier différent"
|
||||||
|
},
|
||||||
|
"it": {
|
||||||
|
"pad.importExport.import_export": "Esportazione",
|
||||||
|
"pad.toolbar.import_export.title": "Esporta a diversi formati di file"
|
||||||
|
},
|
||||||
|
"pt-br": {
|
||||||
|
"pad.importExport.import_export": "Exportar",
|
||||||
|
"pad.toolbar.import_export.title": "Exportar para diferentes formatos de arquivo"
|
||||||
|
},
|
||||||
|
"pt": {
|
||||||
|
"pad.importExport.import_export": "Exportar",
|
||||||
|
"pad.toolbar.import_export.title": "Exportar para diferentes formatos de ficheiro"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
/* Disable Admin UI tests */
|
/* Disable Admin UI tests */
|
||||||
"enableAdminUITests": false
|
"enableAdminUITests": false
|
||||||
|
@ -1,13 +1,7 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:$BBB_BUILD_TAG AS builder
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder
|
||||||
|
|
||||||
ARG TAG_FREESWITCH
|
COPY --from=freeswitch / /build/freeswitch
|
||||||
RUN mkdir -p /build/freeswitch && \
|
|
||||||
cd /build/freeswitch && \
|
|
||||||
git init && \
|
|
||||||
git remote add origin https://github.com/signalwire/freeswitch.git && \
|
|
||||||
git fetch --depth 1 origin $TAG_FREESWITCH && \
|
|
||||||
git checkout FETCH_HEAD
|
|
||||||
|
|
||||||
# install most recent git version for proper sparse-checkout support
|
# install most recent git version for proper sparse-checkout support
|
||||||
# https://stackoverflow.com/questions/72223738/failed-to-initialize-sparse-checkout
|
# https://stackoverflow.com/questions/72223738/failed-to-initialize-sparse-checkout
|
||||||
@ -17,12 +11,7 @@ RUN echo 'deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu focal main' >
|
|||||||
apt-get install -y git
|
apt-get install -y git
|
||||||
|
|
||||||
# get build files for bbb-freeswitch (build/packages-template/bbb-freeswitch-core/)
|
# get build files for bbb-freeswitch (build/packages-template/bbb-freeswitch-core/)
|
||||||
ARG TAG_FS_BUILD_FILES
|
COPY --from=build-files / /build/
|
||||||
RUN git clone -b $TAG_FS_BUILD_FILES --depth 1 --filter=blob:none --sparse https://github.com/bigbluebutton/bigbluebutton.git /bbb && \
|
|
||||||
cd /bbb && \
|
|
||||||
git sparse-checkout set build/packages-template/bbb-freeswitch-core/ && \
|
|
||||||
cp build/packages-template/bbb-freeswitch-core/* /build/ && \
|
|
||||||
rm -rf /bbb
|
|
||||||
|
|
||||||
# mock files expected by build.sh
|
# mock files expected by build.sh
|
||||||
RUN mkdir -p /build/bbb-voice-conference/config/freeswitch/conf/ && \
|
RUN mkdir -p /build/bbb-voice-conference/config/freeswitch/conf/ && \
|
||||||
@ -33,7 +22,7 @@ RUN mkdir -p /build/bbb-voice-conference/config/freeswitch/conf/ && \
|
|||||||
&& \
|
&& \
|
||||||
echo "" > /usr/local/bin/fpm
|
echo "" > /usr/local/bin/fpm
|
||||||
|
|
||||||
|
# build freeswitch
|
||||||
RUN cd /build && ./build.sh
|
RUN cd /build && ./build.sh
|
||||||
|
|
||||||
|
|
||||||
@ -48,13 +37,7 @@ RUN mkdir -p /build/staging/opt/freeswitch/share/freeswitch && \
|
|||||||
|
|
||||||
# add bigblugbutton config
|
# add bigblugbutton config
|
||||||
ARG TAG_FS_CONFIG
|
ARG TAG_FS_CONFIG
|
||||||
RUN git clone -b $TAG_FS_CONFIG --depth 1 --filter=blob:none --sparse https://github.com/bigbluebutton/bigbluebutton.git /bbb && \
|
COPY --from=fs-config / /build/staging/opt/freeswitch/etc/freeswitch/
|
||||||
cd /bbb && \
|
|
||||||
git sparse-checkout set bbb-voice-conference/config/freeswitch/conf/ && \
|
|
||||||
cp -r /bbb/bbb-voice-conference/config/freeswitch/conf/* /build/staging/opt/freeswitch/etc/freeswitch/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ===============================================
|
# ===============================================
|
||||||
|
|
||||||
@ -66,9 +49,9 @@ RUN apt-get update && \
|
|||||||
libfreetype6 libcurl4 libspeex1 libspeexdsp1 libopus0 libsndfile1 libopusfile0 liblua5.2-0 libjbig0 libldns2 libedit2 libtiff5 libpng16-16 \
|
libfreetype6 libcurl4 libspeex1 libspeexdsp1 libopus0 libsndfile1 libopusfile0 liblua5.2-0 libjbig0 libldns2 libedit2 libtiff5 libpng16-16 \
|
||||||
&& \
|
&& \
|
||||||
# install libopusenc0
|
# install libopusenc0
|
||||||
wget -O /tmp/libopusenc0_0.2.1-1bbb1_amd64.deb https://launchpad.net/~bigbluebutton/+archive/ubuntu/support/+files/libopusenc0_0.2.1-1bbb1_amd64.deb \
|
wget -O /tmp/libopusenc0_0.2.1-1bbb2_amd64.deb https://launchpad.net/~bigbluebutton/+archive/ubuntu/support/+files/libopusenc0_0.2.1-1bbb2_amd64.deb \
|
||||||
&& dpkg -i /tmp/libopusenc0_0.2.1-1bbb1_amd64.deb \
|
&& dpkg -i /tmp/libopusenc0_0.2.1-1bbb2_amd64.deb \
|
||||||
&& rm /tmp/libopusenc0_0.2.1-1bbb1_amd64.deb
|
&& rm /tmp/libopusenc0_0.2.1-1bbb2_amd64.deb
|
||||||
|
|
||||||
# add dockerize
|
# add dockerize
|
||||||
COPY --from=alangecker/bbb-docker-base-java /usr/local/bin/dockerize /usr/local/bin/dockerize
|
COPY --from=alangecker/bbb-docker-base-java /usr/local/bin/dockerize /usr/local/bin/dockerize
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
<load module="mod_commands"/>
|
<load module="mod_commands"/>
|
||||||
<load module="mod_conference"/>
|
<load module="mod_conference"/>
|
||||||
<load module="mod_dptools"/>
|
<load module="mod_dptools"/>
|
||||||
|
<load module="mod_audio_fork"/>
|
||||||
|
|
||||||
<!-- Dialplan Interfaces -->
|
<!-- Dialplan Interfaces -->
|
||||||
<load module="mod_dialplan_xml"/>
|
<load module="mod_dialplan_xml"/>
|
||||||
|
@ -1,24 +1,16 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:$BBB_BUILD_TAG AS builder
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder
|
||||||
|
|
||||||
ARG TAG_COMMON_MESSAGE
|
COPY --from=src-common-message / /bbb-common-message
|
||||||
|
|
||||||
# download bbb-common-message
|
# build bbb-common-message
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
|
RUN cd /bbb-common-message && ./deploy.sh
|
||||||
&& cd /bbb-common-message \
|
|
||||||
&& ./deploy.sh \
|
|
||||||
&& rm -rf /bbb-common-message
|
|
||||||
|
|
||||||
# ===================================================
|
# ===================================================
|
||||||
ARG TAG_FSESL_AKKA
|
COPY --from=src-fsesl-client / /bbb-fsesl-client
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_FSESL_AKKA/bbb-fsesl-client /bbb-fsesl-client \
|
RUN cd /bbb-fsesl-client && ./deploy.sh
|
||||||
&& rm -rf /bbb-fsesl-client/.svn
|
|
||||||
|
|
||||||
RUN cd /bbb-fsesl-client \
|
COPY --from=src-fsesl-akka / /source
|
||||||
&& ./deploy.sh
|
|
||||||
|
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_FSESL_AKKA/akka-bbb-fsesl /source \
|
|
||||||
&& rm -rf /source/.svn
|
|
||||||
|
|
||||||
# compile and unzip bin
|
# compile and unzip bin
|
||||||
RUN cd /source \
|
RUN cd /source \
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:$BBB_BUILD_TAG AS builder
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder
|
||||||
|
|
||||||
# RUN groupadd -g 2000 meteor && useradd -m -u 2001 -g meteor meteor
|
# RUN groupadd -g 2000 meteor && useradd -m -u 2001 -g meteor meteor
|
||||||
# USER meteor
|
# USER meteor
|
||||||
|
|
||||||
ARG TAG_HTML5
|
ARG TAG_HTML5
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_HTML5/bigbluebutton-html5 /source \
|
|
||||||
&& cd /source \
|
COPY --from=source ./ /source
|
||||||
&& meteor npm ci --production \
|
RUN cd /source && meteor npm ci --production \
|
||||||
&& METEOR_DISABLE_OPTIMISTIC_CACHING=1 meteor build --architecture os.linux.x86_64 --allow-superuser --directory /app \
|
&& METEOR_DISABLE_OPTIMISTIC_CACHING=1 meteor build --architecture os.linux.x86_64 --allow-superuser --directory /app \
|
||||||
&& rm -rf /source
|
&& rm -rf /source
|
||||||
|
|
||||||
@ -17,14 +17,14 @@ RUN cd /app/bundle/programs/server \
|
|||||||
RUN mkdir -p /app/bundle/programs/web.browser/app/files && \
|
RUN mkdir -p /app/bundle/programs/web.browser/app/files && \
|
||||||
cp /app/bundle/programs/server/npm/node_modules/@fontsource/*/files/*.woff* /app/bundle/programs/web.browser/app/files/
|
cp /app/bundle/programs/server/npm/node_modules/@fontsource/*/files/*.woff* /app/bundle/programs/web.browser/app/files/
|
||||||
|
|
||||||
RUN sed -i "s/VERSION/$TAG_HTML5/" /app/bundle/programs/web.browser/head.html \
|
RUN sed -i "s/VERSION/$TAG_BBB/" /app/bundle/programs/web.browser/head.html \
|
||||||
&& find /app/bundle/programs/web.browser -name '*.js' -exec gzip -k -f -9 '{}' \; \
|
&& find /app/bundle/programs/web.browser -name '*.js' -exec gzip -k -f -9 '{}' \; \
|
||||||
&& find /app/bundle/programs/web.browser -name '*.css' -exec gzip -k -f -9 '{}' \; \
|
&& find /app/bundle/programs/web.browser -name '*.css' -exec gzip -k -f -9 '{}' \; \
|
||||||
&& find /app/bundle/programs/web.browser -name '*.wasm' -exec gzip -k -f -9 '{}' \;
|
&& find /app/bundle/programs/web.browser -name '*.wasm' -exec gzip -k -f -9 '{}' \;
|
||||||
|
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
FROM node:14-bullseye-slim
|
FROM node:14.21-bullseye-slim
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y gosu
|
RUN apt-get update && apt-get install -y gosu
|
||||||
|
|
||||||
@ -37,4 +37,8 @@ COPY --from=builder --chown=meteor:meteor /app/bundle /app
|
|||||||
COPY entrypoint.sh /entrypoint.sh
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
COPY bbb-html5.yml /app/bbb-html5.yml.tmpl
|
COPY bbb-html5.yml /app/bbb-html5.yml.tmpl
|
||||||
|
|
||||||
|
# expose TAG_BBB in container for the version display
|
||||||
|
ARG TAG_BBB
|
||||||
|
ENV TAG_BBB $TAG_BBB
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
public:
|
public:
|
||||||
app:
|
app:
|
||||||
|
html5ClientBuild: {{ .Env.TAG_HTML5 }}
|
||||||
bbbServerVersion: {{ .Env.TAG_HTML5 }}-docker
|
bbbServerVersion: {{ .Env.TAG_HTML5 }}-docker
|
||||||
listenOnlyMode: {{ .Env.LISTEN_ONLY_MODE }}
|
listenOnlyMode: {{ .Env.LISTEN_ONLY_MODE }}
|
||||||
skipCheck: {{ .Env.DISABLE_ECHO_TEST }}
|
skipCheck: {{ .Env.DISABLE_ECHO_TEST }}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
FROM eugenmayer/jodconverter:rest
|
FROM ghcr.io/jodconverter/jodconverter-examples:rest
|
||||||
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections
|
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections
|
||||||
RUN sed -i 's/main/main contrib/' /etc/apt/sources.list && apt-get update
|
RUN sed -i 's/main/main contrib/' /etc/apt/sources.list.d/debian.sources && apt-get update
|
||||||
RUN apt-get update && apt -y install --no-install-recommends \
|
RUN apt-get update && apt -y install --no-install-recommends \
|
||||||
fonts-arkpandora \
|
fonts-arkpandora \
|
||||||
fonts-crosextra-carlito \
|
fonts-crosextra-carlito \
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:$BBB_BUILD_TAG AS builder
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder
|
||||||
|
|
||||||
# --------------------
|
# --------------------
|
||||||
|
|
||||||
ARG TAG_LEARNING_DASHBOARD
|
COPY --from=src-learning-dashboard / /bbb-learning-dashboard
|
||||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_LEARNING_DASHBOARD/bbb-learning-dashboard /bbb-learning-dashboard && rm -r /bbb-learning-dashboard/.svn
|
|
||||||
RUN cd /bbb-learning-dashboard && npm ci && npm run build
|
RUN cd /bbb-learning-dashboard && npm ci && npm run build
|
||||||
|
|
||||||
COPY ./bbb-playback /bbb-playback
|
COPY --from=src-playback / /bbb-playback
|
||||||
RUN cd /bbb-playback && npm ci && npm run build
|
RUN cd /bbb-playback && npm install && npm run-script build
|
||||||
|
|
||||||
# --------------------
|
# --------------------
|
||||||
|
|
||||||
FROM nginx:1.23-alpine
|
FROM nginx:1.25-alpine
|
||||||
|
|
||||||
COPY --from=builder /bbb-learning-dashboard/build /www/learning-analytics-dashboard/
|
COPY --from=builder /bbb-learning-dashboard/build /www/learning-analytics-dashboard/
|
||||||
COPY --from=builder /bbb-playback/build /www/playback/presentation/2.3
|
COPY --from=builder /bbb-playback/build /www/playback/presentation/2.3
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 2fd02ed28f9b4f423783b1ba5f43135b9548b5e1
|
|
@ -1,5 +1,5 @@
|
|||||||
location ~ /learning-analytics-dashboard/([0-9a-f]+-[0-9]+)/(.*) {
|
location ~ /learning-analytics-dashboard/([0-9a-f]+-[0-9]+)/(.*) {
|
||||||
root /var/bigbluebutton/learning-analytics-dashboard/;
|
alias /var/bigbluebutton/learning-dashboard/$1/$2;
|
||||||
autoindex off;
|
autoindex off;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
location /verto {
|
|
||||||
proxy_pass https://host.docker.internal:8082;
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_set_header Connection "Upgrade";
|
|
||||||
proxy_read_timeout 6h;
|
|
||||||
proxy_send_timeout 6h;
|
|
||||||
client_body_timeout 6h;
|
|
||||||
send_timeout 6h;
|
|
||||||
}
|
|
@ -70,20 +70,10 @@ RUN wget -q -O /tmp/python3-perfect-freehand.deb https://github.com/bigbluebutto
|
|||||||
|
|
||||||
ARG TAG_RECORDINGS
|
ARG TAG_RECORDINGS
|
||||||
|
|
||||||
# add bbb-record-core (lib, scripts and Gemfile)
|
COPY --from=record-core / /usr/local/bigbluebutton/core
|
||||||
RUN cd /usr/local/bigbluebutton/core \
|
|
||||||
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_RECORDINGS/record-and-playback/core/lib \
|
|
||||||
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_RECORDINGS/record-and-playback/core/scripts \
|
|
||||||
&& rm -rf /usr/local/bigbluebutton/core/*/.svn \
|
|
||||||
&& wget https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/$TAG_RECORDINGS/record-and-playback/core/Gemfile.lock \
|
|
||||||
&& wget https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/$TAG_RECORDINGS/record-and-playback/core/Gemfile \
|
|
||||||
&& wget https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/$TAG_RECORDINGS/record-and-playback/core/Rakefile
|
|
||||||
|
|
||||||
# add bbb-playback-presentation scripts
|
# add bbb-playback-presentation scripts
|
||||||
RUN cd /tmp \
|
COPY --from=presentation /scripts /usr/local/bigbluebutton/core/scripts/
|
||||||
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_RECORDINGS/record-and-playback/presentation/scripts \
|
|
||||||
&& rsync -av /tmp/scripts/ /usr/local/bigbluebutton/core/scripts/ \
|
|
||||||
&& rm -rf /tmp/scripts
|
|
||||||
|
|
||||||
# install ruby dependencies
|
# install ruby dependencies
|
||||||
RUN cd /usr/local/bigbluebutton/core \
|
RUN cd /usr/local/bigbluebutton/core \
|
||||||
@ -105,8 +95,8 @@ RUN sed -i 's|Journald::Logger\.new.*|Logger.new("/var/log/bigbluebutton/recordi
|
|||||||
sed -i 's|Logger\.new.*|Logger.new("/var/log/bigbluebutton/recording.log")|g' /usr/local/bigbluebutton/core/scripts/process/presentation.rb
|
sed -i 's|Logger\.new.*|Logger.new("/var/log/bigbluebutton/recording.log")|g' /usr/local/bigbluebutton/core/scripts/process/presentation.rb
|
||||||
|
|
||||||
# add bbb-record with some adjustments so bbb-record works in this environment
|
# add bbb-record with some adjustments so bbb-record works in this environment
|
||||||
|
COPY --from=bbb-conf /bin/bbb-record /usr/bin/bbb-record
|
||||||
RUN cd /usr/bin \
|
RUN cd /usr/bin \
|
||||||
&& wget https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/$TAG_RECORDINGS/bigbluebutton-config/bin/bbb-record \
|
|
||||||
&& chmod +x /usr/bin/bbb-record \
|
&& chmod +x /usr/bin/bbb-record \
|
||||||
&& sed -i 's/^BBB_WEB.*/BBB_WEB=""/' /usr/bin/bbb-record \
|
&& sed -i 's/^BBB_WEB.*/BBB_WEB=""/' /usr/bin/bbb-record \
|
||||||
&& sed -i 's/systemctl.*//' /usr/bin/bbb-record \
|
&& sed -i 's/systemctl.*//' /usr/bin/bbb-record \
|
||||||
|
@ -1 +1,2 @@
|
|||||||
|
bigbluebutton.web.serverURL=https://{{ .Env.DOMAIN }}
|
||||||
securitySalt={{ .Env.SHARED_SECRET }}
|
securitySalt={{ .Env.SHARED_SECRET }}
|
@ -1,4 +1,4 @@
|
|||||||
FROM node:16-bullseye-slim AS builder
|
FROM node:18-bullseye-slim AS builder
|
||||||
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y git wget
|
RUN apt-get update && apt-get install -y git wget
|
||||||
@ -6,13 +6,13 @@ RUN apt-get update && apt-get install -y git wget
|
|||||||
RUN wget -q https://github.com/mikefarah/yq/releases/download/v4.25.1/yq_linux_amd64 -O /usr/bin/yq \
|
RUN wget -q https://github.com/mikefarah/yq/releases/download/v4.25.1/yq_linux_amd64 -O /usr/bin/yq \
|
||||||
&& chmod +x /usr/bin/yq
|
&& chmod +x /usr/bin/yq
|
||||||
|
|
||||||
COPY ./bbb-webhooks /bbb-webhooks
|
COPY --from=src / /bbb-webhooks
|
||||||
RUN cd /bbb-webhooks && npm install --production
|
RUN cd /bbb-webhooks && npm install --production
|
||||||
|
|
||||||
RUN chmod 777 /bbb-webhooks/config
|
RUN chmod 777 /bbb-webhooks/config
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
FROM node:16-bullseye-slim
|
FROM node:18-bullseye-slim
|
||||||
RUN useradd --uid 2004 --user-group bbb-webhooks
|
RUN useradd --uid 2004 --user-group bbb-webhooks
|
||||||
|
|
||||||
COPY --from=builder /usr/bin/yq /usr/bin/yq
|
COPY --from=builder /usr/bin/yq /usr/bin/yq
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 2eb5e4471083f9f99e969d5d19a44529ec735808
|
|
@ -1,20 +1,15 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:$BBB_BUILD_TAG AS builder
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder
|
||||||
|
|
||||||
|
|
||||||
RUN useradd --uid 2004 --user-group webrtc-sfu
|
RUN useradd --uid 2004 --user-group webrtc-sfu
|
||||||
|
|
||||||
ADD ./bbb-webrtc-sfu /app
|
COPY --from=source / /app
|
||||||
|
|
||||||
|
|
||||||
ENV NODE_ENV production
|
ENV NODE_ENV production
|
||||||
|
|
||||||
# due to the git submodule npm install crashes with following error:
|
|
||||||
# npm ERR! fatal: Not a git repository: ../.git/modules/bbb-webrtc-sfu
|
|
||||||
# we simply delete the .git file
|
|
||||||
RUN cd /app \
|
RUN cd /app \
|
||||||
&& cp config/default.example.yml config/production.yml \
|
&& cp config/default.example.yml config/production.yml \
|
||||||
&& rm .git \
|
|
||||||
&& npm install --unsafe-perm \
|
&& npm install --unsafe-perm \
|
||||||
&& npm cache clear --force \
|
&& npm cache clear --force \
|
||||||
&& rm -rf node_modules/mediasoup/worker/out/Release/subprojects \
|
&& rm -rf node_modules/mediasoup/worker/out/Release/subprojects \
|
||||||
@ -23,7 +18,7 @@ RUN cd /app \
|
|||||||
|
|
||||||
|
|
||||||
# =============================
|
# =============================
|
||||||
FROM node:16-bullseye-slim
|
FROM node:18-bullseye-slim
|
||||||
RUN useradd --uid 2004 --user-group webrtc-sfu
|
RUN useradd --uid 2004 --user-group webrtc-sfu
|
||||||
ENV NODE_ENV production
|
ENV NODE_ENV production
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Subproject commit f74deebf2fa9ef1fa96b650b9b25c5f32d1b24b5
|
|
1
repos/bbb-pads
Submodule
1
repos/bbb-pads
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 433fe4c3934edff36cddcfb1e892e323c2fe75ea
|
1
repos/bbb-playback
Submodule
1
repos/bbb-playback
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit a8f5a72a7dc55cc8bab6f980035291b6e8fe5de5
|
1
repos/bbb-webhooks
Submodule
1
repos/bbb-webhooks
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 7c0cd8e6cad144578598f9fa6ea2d9ab78af560b
|
1
repos/bbb-webrtc-sfu
Submodule
1
repos/bbb-webrtc-sfu
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit c0de0ff3857146da4924233d36b710874d16a26f
|
1
repos/bigbluebutton
Submodule
1
repos/bigbluebutton
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 5d671b3b506712e54093f50c2a4bdb9995982fab
|
1
repos/freeswitch
Submodule
1
repos/freeswitch
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 4cb05e7f4a23645ec387f3b5391194128be7d193
|
13
repos/tags
Normal file
13
repos/tags
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# autogenerated by ./scripts/collect-tags
|
||||||
|
#
|
||||||
|
# used to determine submodule tags without the need for
|
||||||
|
# checking out the whole submodule
|
||||||
|
|
||||||
|
repos/bbb-etherpad-plugin 068ded5
|
||||||
|
repos/bbb-etherpad-skin 8328b77
|
||||||
|
repos/bbb-pads v1.5.2
|
||||||
|
repos/bbb-playback v5.0.2
|
||||||
|
repos/bbb-webhooks v2.6.1
|
||||||
|
repos/bbb-webrtc-sfu v2.12.0
|
||||||
|
repos/bigbluebutton v2.7.3
|
||||||
|
repos/freeswitch v1.10.10
|
@ -6,6 +6,8 @@
|
|||||||
# HTTPS Proxy
|
# HTTPS Proxy
|
||||||
# fully automated Lets Encrypt certificates
|
# fully automated Lets Encrypt certificates
|
||||||
ENABLE_HTTPS_PROXY=true
|
ENABLE_HTTPS_PROXY=true
|
||||||
|
# If your network doesn't allow access to DNS at 8.8.8.8 specify your own resolvers
|
||||||
|
#RESOLVER_ADDRESS=x.x.x.x
|
||||||
|
|
||||||
# coturn (a TURN Server)
|
# coturn (a TURN Server)
|
||||||
# requires either the abhove HTTPS Proxy to be enabled
|
# requires either the abhove HTTPS Proxy to be enabled
|
||||||
|
@ -4,11 +4,8 @@ set -e
|
|||||||
cd $(dirname $0)/..
|
cd $(dirname $0)/..
|
||||||
|
|
||||||
# load .env
|
# load .env
|
||||||
if [ -f .env ]
|
. functions.sh
|
||||||
then
|
load_env
|
||||||
# exclude WELCOME_FOOTER because it may contain invalid characters
|
|
||||||
export $(cat .env | sed 's/#.*//g' | grep -v "WELCOME_FOOTER" | grep -v "WELCOME_MESSAGE" | xargs)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! "$ENABLE_RECORDING" == true ]; then
|
if [ ! "$ENABLE_RECORDING" == true ]; then
|
||||||
echo "Error: recording is disabled why can't use bbb-record"
|
echo "Error: recording is disabled why can't use bbb-record"
|
||||||
@ -16,5 +13,5 @@ if [ ! "$ENABLE_RECORDING" == true ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
docker-compose exec recordings bbb-record $@
|
docker compose exec recordings bbb-record $@
|
||||||
docker-compose logs --tail=15 recordings
|
docker compose logs --tail=15 recordings
|
@ -1,32 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# checkouts submodules based on the tag
|
|
||||||
# provided in `tags.env`
|
|
||||||
|
|
||||||
|
|
||||||
set -e
|
|
||||||
cd "$(dirname "$0")/.."
|
|
||||||
|
|
||||||
git submodule init
|
|
||||||
git submodule update
|
|
||||||
|
|
||||||
export $(cat tags.env | sed 's/#.*//g' | xargs)
|
|
||||||
|
|
||||||
function checkout {
|
|
||||||
path=$1
|
|
||||||
ref=$2
|
|
||||||
pushd $path
|
|
||||||
git fetch
|
|
||||||
git checkout $ref
|
|
||||||
echo ""
|
|
||||||
popd > /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
checkout mod/webrtc-sfu/bbb-webrtc-sfu $TAG_WEBRTC_SFU
|
|
||||||
checkout mod/nginx/bbb-playback $TAG_PLAYBACK
|
|
||||||
checkout mod/bbb-pads/bbb-pads $TAG_PADS
|
|
||||||
checkout mod/webhooks/bbb-webhooks $TAG_WEBHOOKS
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "# git submodule"
|
|
||||||
git submodule
|
|
20
scripts/collect-tags
Executable file
20
scripts/collect-tags
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
cd "$(dirname "$0")/.."
|
||||||
|
. scripts/functions.sh
|
||||||
|
|
||||||
|
# can't summarize the submodules without having the submodules
|
||||||
|
ensure_submodules
|
||||||
|
|
||||||
|
FILE=repos/tags
|
||||||
|
echo '# autogenerated by ./scripts/collect-tags' > $FILE
|
||||||
|
echo '#' >> $FILE
|
||||||
|
echo '# used to determine submodule tags without the need for' >> $FILE
|
||||||
|
echo '# checking out the whole submodule' >> $FILE
|
||||||
|
echo "" >> $FILE
|
||||||
|
|
||||||
|
# get list of submodules and their current tag as `git describe` also provides
|
||||||
|
|
||||||
|
|
||||||
|
git submodule foreach --quiet 'echo $sm_path $(git describe --tags --always)' >> $FILE
|
||||||
|
|
@ -4,9 +4,7 @@ set -e
|
|||||||
cd $(dirname $0)/..
|
cd $(dirname $0)/..
|
||||||
|
|
||||||
# load .env
|
# load .env
|
||||||
if [ -f .env ]
|
. functions.sh
|
||||||
then
|
load_env
|
||||||
export $(cat .env | sed 's/#.*//g' | grep "FSESL_PASSWORD" | xargs)
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker-compose exec freeswitch /opt/freeswitch/bin/fs_cli -H 10.7.7.1 -p "$FSESL_PASSWORD"
|
docker compose exec freeswitch /opt/freeswitch/bin/fs_cli -H 10.7.7.1 -p "$FSESL_PASSWORD"
|
||||||
|
28
scripts/functions.sh
Normal file
28
scripts/functions.sh
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
function load_env {
|
||||||
|
FILE=.env
|
||||||
|
if [ "$BBB_DOCKER_DEV" = "1" ]; then
|
||||||
|
FILE=dev.env
|
||||||
|
else
|
||||||
|
FILE=.env
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f $FILE ]
|
||||||
|
then
|
||||||
|
export $(cat $FILE | sed 's/#.*//g' | grep -v "WELCOME_FOOTER" | grep -v "WELCOME_MESSAGE" | grep -v "CLIENT_TITLE" | xargs)
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function ensure_submodules {
|
||||||
|
MISSING_SUBMODULES=$(git submodule status | grep -v ' (' | awk '{print $2}' || /bin/true)
|
||||||
|
echo
|
||||||
|
if [ ! -z "$MISSING_SUBMODULES" ]; then
|
||||||
|
echo "ERROR: following submodules are not checked out. we can't continue here"
|
||||||
|
git submodule status | grep -v ' (' | awk '{print " -", $2}'
|
||||||
|
echo ""
|
||||||
|
echo "if you really want to build images by yourself (not required for a normal production setup), use following command to check out all the submodules and try again"
|
||||||
|
echo " git submodule update --init"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -4,11 +4,8 @@ set -e
|
|||||||
cd $(dirname $0)/..
|
cd $(dirname $0)/..
|
||||||
|
|
||||||
# load .env
|
# load .env
|
||||||
if [ -f .env ]
|
. scripts/functions.sh
|
||||||
then
|
load_env
|
||||||
# exclude WELCOME_MESSAGE && WELCOME_FOOTER && CLIENT_TITLE because it may contain invalid characters
|
|
||||||
export $(cat .env | sed 's/#.*//g' | grep -v "WELCOME_FOOTER" | grep -v "WELCOME_MESSAGE" | grep -v "CLIENT_TITLE" | xargs)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# check for non-optional environment variables,
|
# check for non-optional environment variables,
|
||||||
# which got introduced later and may miss in existing
|
# which got introduced later and may miss in existing
|
||||||
@ -33,33 +30,30 @@ if [ "$ENABLE_COTURN" == true ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export $(cat tags.env | sed 's/#.*//g' | xargs)
|
function get_tag {
|
||||||
|
# is submodule checked out?
|
||||||
|
if [ -f "$1/.git" ]; then
|
||||||
|
git --git-dir=$1/.git describe --tags --always
|
||||||
|
else
|
||||||
|
# get cached tag name from repos/tags
|
||||||
|
grep "$1" repos/tags | awk '{print $2}'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
docker run \
|
docker run \
|
||||||
--rm \
|
--rm \
|
||||||
-v $(pwd)/docker-compose.tmpl.yml:/docker-compose.tmpl.yml \
|
-v $(pwd)/docker-compose.tmpl.yml:/docker-compose.tmpl.yml \
|
||||||
-e BBB_BUILD_TAG=${BBB_BUILD_TAG} \
|
-e TAG_BBB=$(get_tag repos/bigbluebutton) \
|
||||||
-e TAG_COMMON_MESSAGE=${TAG_COMMON_MESSAGE} \
|
-e TAG_FREESWITCH=$(get_tag repos/freeswitch) \
|
||||||
-e TAG_APPS_AKKA=${TAG_APPS_AKKA} \
|
-e TAG_WEBRTC_SFU=$(get_tag repos/bbb-webrtc-sfu) \
|
||||||
-e TAG_FSESL_AKKA=${TAG_FSESL_AKKA} \
|
-e TAG_WEBHOOKS=$(get_tag repos/bbb-webhooks) \
|
||||||
-e TAG_BBB_WEB=${TAG_BBB_WEB} \
|
-e TAG_PLAYBACK=$(get_tag repos/bbb-playback) \
|
||||||
-e TAG_HTML5=${TAG_HTML5} \
|
-e TAG_PADS=$(get_tag repos/bbb-pads) \
|
||||||
-e TAG_FS_CONFIG=${TAG_FS_CONFIG} \
|
-e COMMIT_ETHERPAD_SKIN=$(get_tag repos/bbb-etherpad-skin) \
|
||||||
-e TAG_FS_BUILD_FILES=${TAG_FS_BUILD_FILES} \
|
-e COMMIT_ETHERPAD_PLUGIN=$(get_tag repos/bbb-etherpad-plugin) \
|
||||||
-e TAG_LEARNING_DASHBOARD=${TAG_LEARNING_DASHBOARD} \
|
|
||||||
-e TAG_RECORDINGS=${TAG_RECORDINGS} \
|
|
||||||
-e TAG_WEBRTC_SFU=${TAG_WEBRTC_SFU} \
|
|
||||||
-e TAG_WEBHOOKS=${TAG_WEBHOOKS} \
|
|
||||||
-e TAG_PLAYBACK=${TAG_PLAYBACK} \
|
|
||||||
-e TAG_PADS=${TAG_PADS} \
|
|
||||||
-e TAG_FREESWITCH=${TAG_FREESWITCH} \
|
|
||||||
-e TAG_BBB_PRESENTATION_VIDEO=${TAG_BBB_PRESENTATION_VIDEO} \
|
|
||||||
-e TAG_GREENLIGHT=${TAG_GREENLIGHT} \
|
|
||||||
-e DEV_MODE=${DEV_MODE:-false} \
|
-e DEV_MODE=${DEV_MODE:-false} \
|
||||||
-e EXTERNAL_IPv6=${EXTERNAL_IPv6:-} \
|
-e EXTERNAL_IPv6=${EXTERNAL_IPv6:-} \
|
||||||
-e ENABLE_RECORDING=${ENABLE_RECORDING:-false} \
|
-e ENABLE_RECORDING=${ENABLE_RECORDING:-false} \
|
||||||
-e REMOVE_OLD_RECORDING=${REMOVE_OLD_RECORDING:-false} \
|
|
||||||
-e RECORDING_MAX_AGE_DAYS=${RECORDING_MAX_AGE_DAYS:-14} \
|
|
||||||
-e ENABLE_HTTPS_PROXY=${ENABLE_HTTPS_PROXY:-false} \
|
-e ENABLE_HTTPS_PROXY=${ENABLE_HTTPS_PROXY:-false} \
|
||||||
-e ENABLE_WEBHOOKS=${ENABLE_WEBHOOKS:-false} \
|
-e ENABLE_WEBHOOKS=${ENABLE_WEBHOOKS:-false} \
|
||||||
-e ENABLE_COTURN=${ENABLE_COTURN:-false} \
|
-e ENABLE_COTURN=${ENABLE_COTURN:-false} \
|
||||||
|
@ -8,7 +8,7 @@ then
|
|||||||
export $(cat .env | sed 's/#.*//g' | grep -E "RAILS_SECRET|POSTGRESQL_SECRET" | xargs)
|
export $(cat .env | sed 's/#.*//g' | grep -E "RAILS_SECRET|POSTGRESQL_SECRET" | xargs)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
COMPOSE_PREFIX=$(docker-compose ps | grep postgres | awk '{print $1}' | sed 's/-postgres-1//')
|
COMPOSE_PREFIX=$(docker compose ps | grep postgres | awk '{print $1}' | sed 's/-postgres-1//')
|
||||||
|
|
||||||
docker kill -s SIGKILL greenlight-v2-tmp 2>/dev/null
|
docker kill -s SIGKILL greenlight-v2-tmp 2>/dev/null
|
||||||
sleep 1
|
sleep 1
|
||||||
|
@ -4,11 +4,8 @@ set -e
|
|||||||
cd "$(dirname "$0")/.."
|
cd "$(dirname "$0")/.."
|
||||||
|
|
||||||
# load .env
|
# load .env
|
||||||
if [ -f .env ]
|
. functions.sh
|
||||||
then
|
load_env
|
||||||
# exclude WELCOME_MESSAGE && WELCOME_FOOTER && CLIENT_TITLE because it may contain invalid characters
|
|
||||||
export $(cat .env | sed 's/#.*//g' | grep -v "WELCOME_FOOTER" | grep -v "WELCOME_MESSAGE" | grep -v "CLIENT_TITLE" | xargs)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$ENABLE_WEBHOOKS" ]; then
|
if [ -z "$ENABLE_WEBHOOKS" ]; then
|
||||||
echo "ERROR: ENABLE_WEBHOOKS must be set to true, otherwise the image would not be built"
|
echo "ERROR: ENABLE_WEBHOOKS must be set to true, otherwise the image would not be built"
|
||||||
@ -31,11 +28,11 @@ fi
|
|||||||
docker build -t alangecker/bbb-docker-base-java:latest mod/base-java
|
docker build -t alangecker/bbb-docker-base-java:latest mod/base-java
|
||||||
|
|
||||||
# buld and push other images
|
# buld and push other images
|
||||||
docker-compose build
|
docker compose build
|
||||||
|
|
||||||
# push images
|
# push images
|
||||||
docker push alangecker/bbb-docker-base-java:latest
|
docker push alangecker/bbb-docker-base-java:latest
|
||||||
docker-compose push \
|
docker compose push \
|
||||||
html5-backend-1 \
|
html5-backend-1 \
|
||||||
bbb-web \
|
bbb-web \
|
||||||
freeswitch \
|
freeswitch \
|
||||||
|
@ -208,4 +208,4 @@ echo "make sure to recreate the docker-compose.yml after each change"
|
|||||||
echo " $ ./scripts/generate-compose"
|
echo " $ ./scripts/generate-compose"
|
||||||
echo ""
|
echo ""
|
||||||
echo "to start bigbluebutton run"
|
echo "to start bigbluebutton run"
|
||||||
echo " $ docker-compose up -d"
|
echo " $ docker compose up -d"
|
||||||
|
@ -21,7 +21,7 @@ else
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "# pull newest images"
|
echo "# pull newest images"
|
||||||
docker-compose pull --ignore-pull-failures
|
docker compose pull --ignore-pull-failures
|
||||||
|
|
||||||
|
|
||||||
COMMIT_HASH=$(git rev-parse --short HEAD)
|
COMMIT_HASH=$(git rev-parse --short HEAD)
|
||||||
@ -33,6 +33,6 @@ else
|
|||||||
echo "we are on $COMMIT_HASH ($BRANCH_NAME)"
|
echo "we are on $COMMIT_HASH ($BRANCH_NAME)"
|
||||||
echo ""
|
echo ""
|
||||||
echo "use following command for restarting bbb:"
|
echo "use following command for restarting bbb:"
|
||||||
echo " $ docker-compose up -d --no-build"
|
echo " $ docker compose up -d --no-build"
|
||||||
echo "-------------------------------------"
|
echo "-------------------------------------"
|
||||||
fi
|
fi
|
@ -25,14 +25,14 @@ else
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "# pull newest images"
|
echo "# pull newest images"
|
||||||
docker-compose pull --ignore-pull-failures
|
docker compose pull --ignore-pull-failures
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "# rebuild images"
|
echo "# rebuild images"
|
||||||
docker build -t alangecker/bbb-docker-base-java:latest mod/base-java
|
docker build -t alangecker/bbb-docker-base-java:latest mod/base-java
|
||||||
|
|
||||||
# rebuild everything which got modified
|
# rebuild everything which got modified
|
||||||
docker-compose build
|
docker compose build
|
||||||
|
|
||||||
COMMIT_HASH=$(git rev-parse --short HEAD)
|
COMMIT_HASH=$(git rev-parse --short HEAD)
|
||||||
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
|
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
|
||||||
@ -43,6 +43,6 @@ else
|
|||||||
echo "we are on $COMMIT_HASH ($BRANCH_NAME)"
|
echo "we are on $COMMIT_HASH ($BRANCH_NAME)"
|
||||||
echo ""
|
echo ""
|
||||||
echo "use following command for restarting bbb:"
|
echo "use following command for restarting bbb:"
|
||||||
echo " $ docker-compose up -d"
|
echo " $ docker compose up -d"
|
||||||
echo "-------------------------------------"
|
echo "-------------------------------------"
|
||||||
fi
|
fi
|
31
tags.env
31
tags.env
@ -1,31 +0,0 @@
|
|||||||
# after changing a tag always run following commands to apply
|
|
||||||
# - ./scripts/generate-compose
|
|
||||||
# - docker-compose build
|
|
||||||
|
|
||||||
|
|
||||||
# https://gitlab.senfcall.de/senfcall-public/docker-bbb-build
|
|
||||||
BBB_BUILD_TAG=v2022-12-29-grails-524
|
|
||||||
|
|
||||||
# https://github.com/bigbluebutton/bigbluebutton
|
|
||||||
TAG_COMMON_MESSAGE=v2.6.0
|
|
||||||
TAG_APPS_AKKA=v2.6.0
|
|
||||||
TAG_FSESL_AKKA=v2.6.0
|
|
||||||
TAG_BBB_WEB=v2.6.0
|
|
||||||
TAG_HTML5=v2.6.0
|
|
||||||
TAG_RECORDINGS=v2.6.0
|
|
||||||
|
|
||||||
TAG_LEARNING_DASHBOARD=v2.6.0
|
|
||||||
TAG_FS_CONFIG=v2.6.0
|
|
||||||
TAG_FS_BUILD_FILES=v2.6.0
|
|
||||||
|
|
||||||
TAG_FREESWITCH=v1.10.9
|
|
||||||
TAG_GREENLIGHT=v3.0.2
|
|
||||||
|
|
||||||
# individual git submodules
|
|
||||||
# use `./scripts/checkout-submodules` to ensure, that the submodules
|
|
||||||
# match the provided tags here
|
|
||||||
TAG_WEBRTC_SFU=v2.9.8
|
|
||||||
TAG_WEBHOOKS=v2.6.0
|
|
||||||
TAG_PLAYBACK=v5.0.0-rc.2
|
|
||||||
TAG_PADS=v1.4.1
|
|
||||||
TAG_BBB_PRESENTATION_VIDEO=4.0.0-rc.2
|
|
Loading…
Reference in New Issue
Block a user