mirror of
https://github.com/bigbluebutton/docker.git
synced 2024-11-21 23:53:11 +01:00
use local sources instead of pulling inside container
This commit is contained in:
parent
d6341e32ec
commit
03dcee6dac
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
|
||||||
|
@ -34,7 +34,7 @@ Version: 2.7.3 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigblue
|
|||||||
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)
|
||||||
|
@ -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
|
||||||
@ -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.9.1
|
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:
|
||||||
@ -232,8 +248,10 @@ 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:
|
||||||
@ -266,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
|
||||||
@ -284,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
|
||||||
@ -342,11 +363,14 @@ 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
|
||||||
@ -370,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:
|
||||||
@ -439,7 +466,7 @@ services:
|
|||||||
{{ if isTrue .Env.ENABLE_GREENLIGHT }}
|
{{ if isTrue .Env.ENABLE_GREENLIGHT }}
|
||||||
# greenlight
|
# greenlight
|
||||||
greenlight:
|
greenlight:
|
||||||
image: bigbluebutton/greenlight:{{ .Env.TAG_GREENLIGHT }}
|
image: bigbluebutton/greenlight:v3.0.6.1
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
env_file: .env
|
env_file: .env
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -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,20 +1,16 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM bigbluebutton/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,6 +1,6 @@
|
|||||||
FROM node:18-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
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,29 +1,19 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM bigbluebutton/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,4 +1,5 @@
|
|||||||
FROM etherpad/etherpad:1.9.4
|
ARG TAG_ETHERPAD
|
||||||
|
FROM etherpad/etherpad:$TAG_ETHERPAD
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
@ -16,10 +17,10 @@ RUN npm install \
|
|||||||
&& rm package-lock.json package.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,13 +1,7 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM bigbluebutton/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/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ===============================================
|
# ===============================================
|
||||||
|
|
||||||
|
@ -1,24 +1,16 @@
|
|||||||
ARG BBB_BUILD_TAG
|
ARG BBB_BUILD_TAG
|
||||||
FROM bigbluebutton/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 \
|
||||||
|
@ -5,9 +5,9 @@ FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder
|
|||||||
# 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,7 +17,7 @@ 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 '{}' \;
|
||||||
@ -37,8 +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
|
# expose TAG_BBB in container for the version display
|
||||||
ARG TAG_HTML5
|
ARG TAG_BBB
|
||||||
ENV TAG_HTML5 $TAG_HTML5
|
ENV TAG_BBB $TAG_BBB
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
@ -3,11 +3,10 @@ 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 install && npm run-script build
|
RUN cd /bbb-playback && npm install && npm run-script build
|
||||||
|
|
||||||
# --------------------
|
# --------------------
|
||||||
|
@ -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 \
|
||||||
|
@ -6,7 +6,7 @@ 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
|
||||||
|
@ -4,17 +4,12 @@ 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 \
|
||||||
|
1
repos/bigbluebutton
Submodule
1
repos/bigbluebutton
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 6d281a2655f6a87d162dda7d32f0423741a382d1
|
1
repos/freeswitch
Submodule
1
repos/freeswitch
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 4cb05e7f4a23645ec387f3b5391194128be7d193
|
@ -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
|
|
@ -33,28 +33,24 @@ if [ "$ENABLE_COTURN" == true ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export $(cat tags.env | sed 's/#.*//g' | xargs)
|
function get_tag {
|
||||||
|
git --git-dir=$1/.git describe --tags --always
|
||||||
|
}
|
||||||
|
|
||||||
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 TAG_FS_BUILD_FILES=${TAG_FS_BUILD_FILES} \
|
|
||||||
-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_BBB_PRESENTATION_VIDEO=${TAG_BBB_PRESENTATION_VIDEO} \
|
||||||
-e TAG_GREENLIGHT=${TAG_GREENLIGHT} \
|
-e TAG_GREENLIGHT=${TAG_GREENLIGHT} \
|
||||||
|
-e TAG_ETHERPAD=${TAG_ETHERPAD} \
|
||||||
|
-e COMMIT_ETHERPAD_SKIN=$(get_tag repos/bbb-etherpad-skin) \
|
||||||
|
-e COMMIT_ETHERPAD_PLUGIN=$(get_tag repos/bbb-etherpad-plugin) \
|
||||||
-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} \
|
||||||
|
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://hub.docker.com/r/bigbluebutton/bbb-build
|
|
||||||
BBB_BUILD_TAG=bbb27-2023-06-13-java17
|
|
||||||
|
|
||||||
# https://github.com/bigbluebutton/bigbluebutton
|
|
||||||
TAG_COMMON_MESSAGE=v2.7.0
|
|
||||||
TAG_APPS_AKKA=v2.7.3
|
|
||||||
TAG_FSESL_AKKA=v2.7.0
|
|
||||||
TAG_BBB_WEB=v2.7.3
|
|
||||||
TAG_HTML5=v2.7.3
|
|
||||||
TAG_RECORDINGS=v2.7.0
|
|
||||||
|
|
||||||
TAG_LEARNING_DASHBOARD=v2.7.3
|
|
||||||
TAG_BBB_PRESENTATION_VIDEO=4.0.4
|
|
||||||
TAG_FS_CONFIG=v2.7.0
|
|
||||||
TAG_FS_BUILD_FILES=v2.7.0
|
|
||||||
|
|
||||||
TAG_FREESWITCH=v1.10.10
|
|
||||||
TAG_GREENLIGHT=v3.1.0
|
|
||||||
|
|
||||||
# individual git submodules
|
|
||||||
# use `./scripts/checkout-submodules` to ensure, that the submodules
|
|
||||||
# match the provided tags here
|
|
||||||
TAG_WEBRTC_SFU=v2.12.0
|
|
||||||
TAG_WEBHOOKS=v2.6.1
|
|
||||||
TAG_PLAYBACK=v5.0.2
|
|
||||||
TAG_PADS=v1.5.2
|
|
Loading…
Reference in New Issue
Block a user