v3.0.0-beta.5: recording via bbb-webrtc-recorder and etherpad export

This commit is contained in:
chandi 2024-11-24 21:26:31 +01:00
parent e6c1b47fb2
commit 325690e0c1
7 changed files with 28 additions and 62 deletions

2
.gitmodules vendored
View File

@ -24,4 +24,4 @@
url = https://github.com/bigbluebutton/bbb-pads.git url = https://github.com/bigbluebutton/bbb-pads.git
[submodule "repos/bbb-webrtc-recorder"] [submodule "repos/bbb-webrtc-recorder"]
path = repos/bbb-webrtc-recorder path = repos/bbb-webrtc-recorder
url = https://github.com/bigbluebutton/bbb-webrtc-recorder url = https://github.com/bigbluebutton/bbb-webrtc-recorder.git

View File

@ -129,6 +129,7 @@ services:
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- redis - redis
- collabora
environment: environment:
ETHERPAD_API_KEY: ${ETHERPAD_API_KEY} ETHERPAD_API_KEY: ${ETHERPAD_API_KEY}
networks: networks:
@ -377,11 +378,12 @@ services:
depends_on: depends_on:
- redis - redis
volumes: volumes:
- ./mod/bbb-webrtc-recorder/bbb-webrtc-recorder.yml:/etc/bbb-webrtc-recorder/bbb-webrtc-recorder.yml
- ./data/bbb-webrtc-recorder:/var/lib/bbb-webrtc-recorder - ./data/bbb-webrtc-recorder:/var/lib/bbb-webrtc-recorder
networks: # WebRTC connection to bbb-webrtc-sfu seem to
bbb-net: # only to work via the external IP
ipv4_address: 10.7.7.19 network_mode: host
extra_hosts:
- "redis:10.7.7.5"
{{end}} {{end}}
{{ if isTrue .Env.ENABLE_WEBHOOKS }} {{ if isTrue .Env.ENABLE_WEBHOOKS }}

View File

@ -2,6 +2,9 @@
set -e set -e
# create recording directory structure if it doesn't exist yet # create recording directory structure if it doesn't exist yet
mkdir -p /var/bigbluebutton/recording/status
mkdir -p /var/bigbluebutton/events
mkdir -p /var/bigbluebutton/recording
mkdir -p /var/bigbluebutton/recording/raw mkdir -p /var/bigbluebutton/recording/raw
mkdir -p /var/bigbluebutton/recording/process mkdir -p /var/bigbluebutton/recording/process
mkdir -p /var/bigbluebutton/recording/publish mkdir -p /var/bigbluebutton/recording/publish
@ -9,17 +12,14 @@ mkdir -p /var/bigbluebutton/recording/status/recorded
mkdir -p /var/bigbluebutton/recording/status/archived mkdir -p /var/bigbluebutton/recording/status/archived
mkdir -p /var/bigbluebutton/recording/status/processed mkdir -p /var/bigbluebutton/recording/status/processed
mkdir -p /var/bigbluebutton/recording/status/sanity mkdir -p /var/bigbluebutton/recording/status/sanity
mkdir -p /var/bigbluebutton/recording/status/ended
mkdir -p /var/bigbluebutton/recording/status/published mkdir -p /var/bigbluebutton/recording/status/published
mkdir -p /var/bigbluebutton/captions/inbox mkdir -p /var/bigbluebutton/captions
mkdir -p /var/bigbluebutton/published mkdir -p /var/bigbluebutton/published
mkdir -p /var/bigbluebutton/published/notes
mkdir -p /var/bigbluebutton/deleted mkdir -p /var/bigbluebutton/deleted
mkdir -p /var/bigbluebutton/unpublished mkdir -p /var/bigbluebutton/unpublished
mkdir -p /var/bigbluebutton/basic_stats
chown -R bigbluebutton:bigbluebutton /var/bigbluebutton chown -R bigbluebutton:bigbluebutton /var/bigbluebutton
echo "$NUMBER_OF_BACKEND_NODEJS_PROCESSES" > /tmp/NUMBER_OF_BACKEND_NODEJS_PROCESSES
cd /usr/share/bbb-web/ cd /usr/share/bbb-web/
dockerize \ dockerize \
-template /etc/bigbluebutton/bbb-web.properties.tmpl:/etc/bigbluebutton/bbb-web.properties \ -template /etc/bigbluebutton/bbb-web.properties.tmpl:/etc/bigbluebutton/bbb-web.properties \

View File

@ -1,5 +1,5 @@
# Build stage # Build stage
FROM golang:1.19 as builder FROM golang:1.21 as builder
ARG APP_VERSION=devel ARG APP_VERSION=devel
ARG GOMOD=github.com/bigbluebutton/bbb-webrtc-recorder ARG GOMOD=github.com/bigbluebutton/bbb-webrtc-recorder
@ -12,24 +12,29 @@ RUN go mod tidy
COPY --from=src . ./ COPY --from=src . ./
RUN go build -o ./build/bbb-webrtc-recorder \ RUN APP_VERSION=$(cat ./VERSION | sed 's/ /-/g') \
-buildvcs=false \ go build -o ./build/bbb-webrtc-recorder \
-ldflags="-X '${GOMOD}/internal.AppVersion=${APP_VERSION}'" \ -ldflags="-X '$GOMOD/internal.AppVersion=v${APP_VERSION1}'" \
./cmd/bbb-webrtc-recorder ./cmd/bbb-webrtc-recorder
RUN mv /app/build/bbb-webrtc-recorder /usr/bin/bbb-webrtc-recorder
RUN rm -rf /app RUN mv /app/build/bbb-webrtc-recorder /usr/bin/bbb-webrtc-recorder
# Running stage # Running stage
FROM debian:bookworm-slim FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y gosu RUN apt-get update && apt-get install -y gosu
# Copy the binary to the production image from the builder stage.
COPY --from=builder /usr/bin/bbb-webrtc-recorder /usr/bin/bbb-webrtc-recorder
# use same UID as in the recordings container # use same UID as in the recordings container
RUN groupadd -g 998 bigbluebutton && useradd -m -u 998 -g bigbluebutton bigbluebutton RUN groupadd -g 998 bigbluebutton && useradd -m -u 998 -g bigbluebutton bigbluebutton
# config
ENV BBBRECORDER_PUBSUB_ADAPTERS_REDIS_ADDRESS=redis:6379
ENV BBBRECORDER_PUBSUB_ADAPTERS_REDIS_NETWORK=tcp
ENV BBBRECORDER_DEBUG=true
# Copy the binary to the production image from the builder stage.
COPY --from=builder /usr/bin/bbb-webrtc-recorder /usr/bin/bbb-webrtc-recorder
COPY --from=builder /app/config/bbb-webrtc-recorder.yml /etc/bbb-webrtc-recorder/bbb-webrtc-recorder.yml
CMD ["/bin/sh", "-c", "chown -R bigbluebutton:bigbluebutton /var/lib/bbb-webrtc-recorder && gosu bigbluebutton /usr/bin/bbb-webrtc-recorder"] CMD ["/bin/sh", "-c", "chown -R bigbluebutton:bigbluebutton /var/lib/bbb-webrtc-recorder && gosu bigbluebutton /usr/bin/bbb-webrtc-recorder"]

View File

@ -1,39 +0,0 @@
debug: false
recorder:
directory: /var/lib/bbb-webrtc-recorder
dirFileMode: 0700
fileMode: 0600
pubsub:
channels:
subscribe: to-bbb-webrtc-recorder
publish: from-bbb-webrtc-recorder
adapter: redis
adapters:
redis:
address: redis:6379
network: tcp
#password: foobared
webrtc:
rtcMinPort: 24577
rtcMaxPort: 32768
jitterBuffer: 512
iceServers:
- urls: []
# Example turn server
# - urls:
# - turn:turnserver.example.org:1234
# username: webrtc
# credential: turnpassword
# HTTP server for testing
# (should be disabled in production)
http:
port: 8080
enable: false
prometheus:
enable: false
listenAddress: 127.0.0.1:3200

View File

@ -4,9 +4,6 @@ dest="$(echo $8 | sed -E -e 's/html|odt/'$7'/')"
convertTo="$7" convertTo="$7"
curl -v -X POST "http://jodconverter:8080/lool/convert-to/$convertTo" \ curl -v -F "data=@${src}" -k https://collabora:9980/cool/convert-to/$convertTo > "${dest}"
-H "accept: application/octet-stream" \
-H "Content-Type: multipart/form-data" \
-F "data=@$src" > $dest
exit 0 exit 0

@ -0,0 +1 @@
Subproject commit b121d3caa4ff8101e4d9404247686913b1552fe3