32 Commits
v2.6 ... v2.7.3

Author SHA1 Message Date
22b80c2d03 update libopusenc 2023-11-28 15:31:31 +01:00
00322d156c switch to up-to-date jodconverter container 2023-11-28 15:31:19 +01:00
f8ffbcd31b fix missing URL in recording container 2023-11-28 15:30:55 +01:00
f3ae0f1fd2 v2.7.3 2023-11-28 15:30:29 +01:00
954100d55e html5: fix display of version 2023-09-13 01:30:05 +02:00
90cfd3471f added Release 2.7.0 changelog 2023-09-13 00:45:59 +02:00
c2d85d6e45 added requirements, updating upgrade docs 2023-09-13 00:44:20 +02:00
0bca06023d Include SHARED_SECRET for recordings container in docker-compose.tmpl.yml
In the current template, SHARED_SECRET is not handed to the recordings container. In turn, the recording_ready callback to greenlight does not work, preventing recordings from being displayed correctly.

This patch addresses issue #268.
2023-09-13 00:08:15 +02:00
58bbbed7cf Merge pull request #291 from bigbluebutton/v2.7.1
BigBlueButton 2.7
2023-09-13 00:03:26 +02:00
4cff64c1a0 Merge pull request #277 from pkolmann/pkolmann-https-proxy-resolver
Add RESOLVER_ADDRESS env variable for HTTPS_PROXY container.
2023-09-12 22:19:14 +02:00
958f1ecd8e Merge pull request #271 from leonidas-o/develop
Deprecated ComposeV1, update to ComposeV2
2023-09-12 22:14:46 +02:00
b82f6fbd70 greenlight: switch to main image 2023-09-12 22:09:17 +02:00
60b3775308 etherpad: support for alpine in export script 2023-09-12 22:08:03 +02:00
109547ffed BigBlueButton 2.7 2023-09-12 18:31:01 +02:00
e2fa77fe48 use official bbb-build images instead of senfcall 2023-09-12 18:23:22 +02:00
3ae8ebc906 Add RESOLVER_ADDRESS env variable for HTTPS_PROXY container.
closes https://github.com/bigbluebutton/docker/issues/276
2023-06-02 09:52:19 +02:00
9710700521 Merge branch 'feature/composev2' into develop 2023-05-07 11:10:29 +02:00
8c1ae1e48b update commands to docker compose V2 2023-05-07 11:07:09 +02:00
50a4020111 correctly sort in TAG_BBB_PRESENTATION_VIDEO in tags.env 2023-04-04 12:04:18 +02:00
3eddef1a1c BBB v2.6.1 2023-04-04 12:03:43 +02:00
3c1e5c7bee Merge pull request #262 from yanus/develop
Fix learning-dashboard (alias)
2023-04-04 11:52:35 +02:00
72355362c8 Release v2.6.0-2 2023-04-04 11:32:46 +02:00
06a5921874 hotfix for broken freeswitch container due to enabled compresion with max file count == 1
https://github.com/bigbluebutton/docker/issues/260
2023-04-04 11:31:11 +02:00
0344b0e4c1 Fix learning-dashboard 2023-04-04 10:23:16 +02:00
bd2e7fbf9e bbb-docker release v2.6.0 2023-04-03 11:51:15 +02:00
0257ba7025 fs_cli: fix wrong path 2023-04-03 11:45:35 +02:00
6b5d8c853d nginx: serve default presentation 2023-04-03 11:45:12 +02:00
81b02de14a recordings: fix missing post_publish.log 2023-04-03 11:44:45 +02:00
d5164ecef9 freeswitch: only store a small window of the logs permanently 2023-04-03 11:44:21 +02:00
859e61af06 greenlight: avoid leaking IP to greenlight, which stores it in the logs 2023-04-03 11:42:57 +02:00
1fbf11a9fa nginx: redirect old greenlight v2 room links 2023-03-24 23:26:55 +01:00
f10979f8e4 Merge pull request #255 from bigbluebutton/v2.6
BigBlueButton v2.6
2023-03-24 23:13:31 +01:00
40 changed files with 183 additions and 94 deletions

View File

@ -1,9 +1,25 @@
# Changelog # Changelog
## Unreleased ## Unreleased
- BigBlueButton 2.7.3 @alangecker
## Release v2.7.0 (2023-09)
- 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)
- hotfix for broken freeswitch container due to enabled compresion with max file count == 1 [#260](https://github.com/bigbluebutton/docker/issues/260)
## Release v2.6.0 (2023-04-03)
- **Breaking change:** Greenlight v3 (see [upgrade note](docs/upgrading.md) @alangecker [#255](https://github.com/bigbluebutton/docker/pull/255) - **Breaking change:** Greenlight v3 (see [upgrade note](docs/upgrading.md) @alangecker [#255](https://github.com/bigbluebutton/docker/pull/255)
- BigBlueButton v2.6 @alangecker [#255](https://github.com/bigbluebutton/docker/pull/255) - BigBlueButton v2.6 @alangecker [#255](https://github.com/bigbluebutton/docker/pull/255)
- Set client_max_body_size for greenlight @nr23730 [#252](https://github.com/bigbluebutton/docker/pull/252)
- self building freeswitch (applying patches and independent from external apt repos) @alangecker - self building freeswitch (applying patches and independent from external apt repos) @alangecker
- reduce amount of logs with senstivie data @alangecker
## Release v2.5.8 (2022-11-06) ## Release v2.5.8 (2022-11-06)
- BBB 2.5.8 @alangecker [#238](https://github.com/bigbluebutton/docker/pull/238) - BBB 2.5.8 @alangecker [#238](https://github.com/bigbluebutton/docker/pull/238)

View File

@ -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,19 +13,25 @@ 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 --recurse-submodules https://github.com/bigbluebutton/docker.git bbb-docker
@ -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
``` ```
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

View File

@ -134,6 +134,13 @@ services:
- ./conf/dialplan_public:/etc/freeswitch/dialplan/public_docker - ./conf/dialplan_public:/etc/freeswitch/dialplan/public_docker
- vol-freeswitch:/var/freeswitch/meetings - vol-freeswitch:/var/freeswitch/meetings
network_mode: host network_mode: host
logging:
# reduce logs to a minimum, so `docker compose logs -f` still works
driver: "local"
options:
max-size: "10k"
max-file: "1"
compress: "false"
nginx: nginx:
build: build:
@ -162,7 +169,7 @@ services:
etherpad: etherpad:
build: mod/etherpad build: mod/etherpad
image: alangecker/bbb-docker-etherpad:1.8.18-3 image: alangecker/bbb-docker-etherpad:1.9.1
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- redis - redis
@ -186,7 +193,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,11 +239,14 @@ services:
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
@ -309,7 +319,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
@ -343,6 +353,7 @@ services:
- 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
@ -394,6 +405,9 @@ services:
{{else}} {{else}}
ALLOWED_DOMAINS: ${DOMAIN} ALLOWED_DOMAINS: ${DOMAIN}
{{end}} {{end}}
{{ if .Env.RESOLVER_ADDRESS }}
RESOLVER_ADDRESS: ${RESOLVER_ADDRESS}
{{end}}
network_mode: host network_mode: host
{{end}} {{end}}
@ -425,7 +439,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:{{ .Env.TAG_GREENLIGHT }}
restart: unless-stopped restart: unless-stopped
env_file: .env env_file: .env
depends_on: depends_on:
@ -442,6 +456,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:

View File

@ -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?

View File

@ -1,7 +1,7 @@
# How To Upgrade bbb-docker # How To Upgrade bbb-docker
### Upgrading `v2.5.x` -> `v2.6.x` ### Upgrading from `v2.5.x`
- *Breaking change:* Greenlight got fully rewritten - *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`
@ -10,7 +10,7 @@
apart from that follow the guide below. apart from that follow the guide below.
### within `v2.6.x` ### from `v2.6.x` or 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 +23,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
``` ```

View File

@ -1,5 +1,5 @@
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 ARG TAG_COMMON_MESSAGE

View File

@ -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 \

View File

@ -1,4 +1,4 @@
FROM node:16-bullseye-slim AS builder FROM node:18-bullseye-slim AS builder
COPY ./bbb-pads /bbb-pads COPY ./bbb-pads /bbb-pads
RUN cd /bbb-pads && rm -r .git && npm install --production RUN cd /bbb-pads && rm -r .git && npm install --production
@ -7,7 +7,7 @@ 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

View File

@ -1,5 +1,5 @@
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 ARG TAG_COMMON_MESSAGE

View File

@ -1,20 +1,19 @@
FROM etherpad/etherpad:1.8.18 FROM etherpad/etherpad:1.9.4
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 ./bbb-etherpad-skin /opt/etherpad-lite/src/static/skins/bigbluebutton

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -1,5 +1,5 @@
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 ARG TAG_FREESWITCH
RUN mkdir -p /build/freeswitch && \ RUN mkdir -p /build/freeswitch && \
@ -66,9 +66,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

View File

@ -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"/>

View File

@ -1,5 +1,5 @@
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 ARG TAG_COMMON_MESSAGE

View File

@ -1,5 +1,5 @@
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
@ -24,7 +24,7 @@ RUN sed -i "s/VERSION/$TAG_HTML5/" /app/bundle/programs/web.browser/head.html \
# ------------------------------ # ------------------------------
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_HTML5 in container for the version display
ARG TAG_HTML5
ENV TAG_HTML5 $TAG_HTML5
ENTRYPOINT ["/entrypoint.sh"] ENTRYPOINT ["/entrypoint.sh"]

View File

@ -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 }}

View File

@ -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 \

View File

@ -1,5 +1,5 @@
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
# -------------------- # --------------------
@ -8,11 +8,11 @@ RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_LEARNI
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 ./bbb-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

View File

@ -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;
} }

View File

@ -33,11 +33,20 @@ server {
# Include specific rules for record and playback # Include specific rules for record and playback
include /etc/nginx/bbb/*.nginx; include /etc/nginx/bbb/*.nginx;
# redirect old greenlight v2 room links
location ~ "/b/([a-z0-9\-]+)" {
return 302 /rooms/$1;
}
# serve default.pdf from /www/
location = /default.pdf {
try_files $uri =404;
}
location / { location / {
proxy_pass http://greenlight:3000; proxy_pass http://greenlight:3000;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For "127.0.0.1";
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Forwarded-Ssl on;
proxy_http_version 1.1; proxy_http_version 1.1;
@ -47,7 +56,7 @@ server {
location /cable { location /cable {
proxy_pass http://greenlight:3000; proxy_pass http://greenlight:3000;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For "127.0.0.1";
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Forwarded-Ssl on;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;

View File

@ -1 +1,2 @@
bigbluebutton.web.serverURL=https://{{ .Env.DOMAIN }}
securitySalt={{ .Env.SHARED_SECRET }} securitySalt={{ .Env.SHARED_SECRET }}

View File

@ -3,6 +3,7 @@
touch /var/log/bigbluebutton/recording.log touch /var/log/bigbluebutton/recording.log
touch /var/log/bigbluebutton/bbb-web.log touch /var/log/bigbluebutton/bbb-web.log
touch /var/log/bigbluebutton/sanity.log touch /var/log/bigbluebutton/sanity.log
touch /var/log/bigbluebutton/post_publish.log
mkdir -p /var/log/bigbluebutton/presentation mkdir -p /var/log/bigbluebutton/presentation
chown -R bigbluebutton:bigbluebutton /var/log/bigbluebutton chown -R bigbluebutton:bigbluebutton /var/log/bigbluebutton

View File

@ -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
@ -12,7 +12,7 @@ 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

View File

@ -1,5 +1,5 @@
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
@ -23,7 +23,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

View File

@ -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

View File

@ -16,5 +16,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

View File

@ -9,4 +9,4 @@ then
export $(cat .env | sed 's/#.*//g' | grep "FSESL_PASSWORD" | xargs) export $(cat .env | sed 's/#.*//g' | grep "FSESL_PASSWORD" | xargs)
fi fi
docker-compose exec freeswitch 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"

View File

@ -61,6 +61,7 @@ docker run \
-e REMOVE_OLD_RECORDING=${REMOVE_OLD_RECORDING:-false} \ -e REMOVE_OLD_RECORDING=${REMOVE_OLD_RECORDING:-false} \
-e RECORDING_MAX_AGE_DAYS=${RECORDING_MAX_AGE_DAYS:-14} \ -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 RESOLVER_ADDRESS=${RESOLVER_ADDRESS} \
-e ENABLE_WEBHOOKS=${ENABLE_WEBHOOKS:-false} \ -e ENABLE_WEBHOOKS=${ENABLE_WEBHOOKS:-false} \
-e ENABLE_COTURN=${ENABLE_COTURN:-false} \ -e ENABLE_COTURN=${ENABLE_COTURN:-false} \
-e ENABLE_GREENLIGHT=${ENABLE_GREENLIGHT:-false} \ -e ENABLE_GREENLIGHT=${ENABLE_GREENLIGHT:-false} \

View File

@ -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

View File

@ -31,11 +31,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 \

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -1,31 +1,31 @@
# after changing a tag always run following commands to apply # after changing a tag always run following commands to apply
# - ./scripts/generate-compose # - ./scripts/generate-compose
# - docker-compose build # - docker compose build
# https://gitlab.senfcall.de/senfcall-public/docker-bbb-build # https://hub.docker.com/r/bigbluebutton/bbb-build
BBB_BUILD_TAG=v2022-12-29-grails-524 BBB_BUILD_TAG=bbb27-2023-06-13-java17
# https://github.com/bigbluebutton/bigbluebutton # https://github.com/bigbluebutton/bigbluebutton
TAG_COMMON_MESSAGE=v2.6.0 TAG_COMMON_MESSAGE=v2.7.0
TAG_APPS_AKKA=v2.6.0 TAG_APPS_AKKA=v2.7.3
TAG_FSESL_AKKA=v2.6.0 TAG_FSESL_AKKA=v2.7.0
TAG_BBB_WEB=v2.6.0 TAG_BBB_WEB=v2.7.3
TAG_HTML5=v2.6.0 TAG_HTML5=v2.7.3
TAG_RECORDINGS=v2.6.0 TAG_RECORDINGS=v2.7.0
TAG_LEARNING_DASHBOARD=v2.6.0 TAG_LEARNING_DASHBOARD=v2.7.3
TAG_FS_CONFIG=v2.6.0 TAG_BBB_PRESENTATION_VIDEO=4.0.4
TAG_FS_BUILD_FILES=v2.6.0 TAG_FS_CONFIG=v2.7.0
TAG_FS_BUILD_FILES=v2.7.0
TAG_FREESWITCH=v1.10.9 TAG_FREESWITCH=v1.10.10
TAG_GREENLIGHT=v3.0.2 TAG_GREENLIGHT=v3.1.0
# individual git submodules # individual git submodules
# use `./scripts/checkout-submodules` to ensure, that the submodules # use `./scripts/checkout-submodules` to ensure, that the submodules
# match the provided tags here # match the provided tags here
TAG_WEBRTC_SFU=v2.9.8 TAG_WEBRTC_SFU=v2.12.0
TAG_WEBHOOKS=v2.6.0 TAG_WEBHOOKS=v2.6.1
TAG_PLAYBACK=v5.0.0-rc.2 TAG_PLAYBACK=v5.0.2
TAG_PADS=v1.4.1 TAG_PADS=v1.5.2
TAG_BBB_PRESENTATION_VIDEO=4.0.0-rc.2