Breakout Rooms - Saving / converting whiteboard doesn't work
Hi!
I just tried installing BBB via docker for my private server and realized that after creating a breakout room with the setting "Save whiteboard", going into the breakout room to write / draw something and closing the breakout room, the presentation apparentaly can't get saved / converted.
Inside the logs I get the following error:
bbb-export-annotations-1 | 2025-04-19T13:58:06.699Z INFO [presAnn Process Worker] Saved PDF at /var/bigbluebutton/6a3388002410f268a8e3d1571cc115e9fa5bfb4c-1745071057508/6a3388002410f268a8e3d1571cc115e9fa5bfb4c-1745071057508/2322a3eb3618ee7fc79cf6a500ff586be6288d32-1745071062516/pdfs/6a3388002410f268a8e3d1571cc115e9fa5bfb4c-1745071057508-slides/6a3388002410f268a8e3d1571cc115e9fa5bfb4c-1745071057508-slides/Room_1_Whiteboard.pdf
webrtc-sfu-1 | {"level":30,"time":"2025-04-19T13:58:06.668Z","pid":271,"hostname":"mii-server","mod":"fullaudio","roomId":"439382756","meetingId":"5aee665061afa7e8f7d7ef7f28e5b9f6f6b12dea-1745071042846","userId":"w_s9oxfif2tjjq","connectionId":"fa19f477-dc60-4a21-b677-ebb921ef948e","mediaId":"932f6878-2b39-43de-b869-47e8bb270b95","bridgeStatus":"MEDIA_STARTED","bridgeMediaId":"79c58657-3cda-446d-a42d-b253e2cf25ca","transceiverMode":"recv","listenOnly":false,"msg":"Client audio is FLOWING"}
bbb-export-annotations-1 | (node:19) [DEP0044] DeprecationWarning: The `util.isArray` API is deprecated. Please use `Array.isArray()` instead.
bbb-export-annotations-1 | (Use `node --trace-deprecation ...` to show where the warning was created)
bbb-export-annotations-1 | 2025-04-19T13:58:06.988Z ERROR [presAnn Notifier Worker] Could not upload job 6a3388002410f268a8e3d1571cc115e9fa5bfb4c-1745071057508-slides: Error: ENOENT: no such file or directory, open '/var/bigbluebutton/6a3388002410f268a8e3d1571cc115e9fa5bfb4c-1745071057508/6a3388002410f268a8e3d1571cc115e9fa5bfb4c-1745071057508/2322a3eb3618ee7fc79cf6a500ff586be6288d32-1745071062516/pdfs/6a3388002410f268a8e3d1571cc115e9fa5bfb4c-1745071057508-slides/Room_1_Whiteboard.pdf'
Any ideas of what could be the issue?
For me, the conversion at all doesn't work. I fixed it by recreate the image with a modified process.js
So first question is, does the export on the "main room" works?
https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/bbb-export-annotations/workers/process.js#L428 i removed the quotes there.
ps: the deprecation warning can be ignored at the moment. pps: the problem is the process.js doesn't catch any error from ghostscript
After seeing another issue, the presentation itself wouldn't be exported, i rebuild the image, on ubuntu base. i will create a pull requests the next days.
Which image you talking about benjamin? Is it the [bbb-export-annotations]?(https://github.com/bigbluebutton/docker/blob/bbb3.0/mod/bbb-export-annotations/Dockerfile)
Exactly
Am 03.07.2025 um 05:46, haimeo1201 @.***> schrieb:
haimeo1201 left a comment (bigbluebutton/docker#356)
Which image you talking about benjamin? Is it the [bbb-export-annotations]?(https://github.com/bigbluebutton/docker/blob/bbb3.0/mod/bbb-export-annotations/Dockerfile)
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>
I don't understand the ubuntu base mean, i can't find that image in node docker hub, correct me if i'm wrong :D Here is bbb-export-annotations base "FROM node:22-bookworm-slim AS builder"
@ben-ba hey Benjamin can you take a little time to look at this? Really appreciate your help
Yes, I have a working image, i will deploy it during the day and push it here.
Which image you talking about benjamin? Is it the [bbb-export-annotations]?(https://github.com/bigbluebutton/docker/blob/bbb3.0/mod/bbb-export-annotations/Dockerfile)
this is my updated, working Dockerfile, main differences,
- using ubuntu instead of node as base image (the node image using an debian base image)
- proxy support, if you don't need it, remove the http(s)_proxy vars / lines
notes:
- installing node, because no official node image based on ubuntu is available
- using ubuntu instead of debian, because the debian ghostscript return an uncatched error - by bbb
- should also work without the packages poppler-utils, imagemagick; see https://github.com/bigbluebutton/bigbluebutton/issues/19703#issuecomment-3138094933 , but atm untested
- 172.17.0.1 is the docker0 interface on your host machine
#FROM node:22-bookworm-slim AS builder
FROM ubuntu:22.04 AS builder
RUN http_proxy=http://172.17.0.1:8888 \
https_proxy=http://172.17.0.1:8888 \
apt update && \
http_proxy=http://172.17.0.1:8888 \
https_proxy=http://172.17.0.1:8888 \
apt install -y \
curl gpg
RUN curl -fsSL --proxy "http://172.17.0.1:8888" https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
ENV NODE_MAJOR=22
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
RUN http_proxy=http://172.17.0.1:8888 \
https_proxy=http://172.17.0.1:8888 \
apt update && \
http_proxy=http://172.17.0.1:8888 \
https_proxy=http://172.17.0.1:8888 \
apt install -y \
nodejs
#npm get installed automatically
COPY --from=src / /bbb-export-annotations
RUN cd /bbb-export-annotations && npm --proxy http://172.17.0.1:8888 ci
# --------------------
#FROM node:22-bookworm-slim
FROM ubuntu:22.04
RUN groupadd -g 998 bigbluebutton \
&& useradd -m -u 998 -g bigbluebutton bigbluebutton
RUN http_proxy=http://172.17.0.1:8888 \
https_proxy=http://172.17.0.1:8888 \
apt update && \
http_proxy=http://172.17.0.1:8888 \
https_proxy=http://172.17.0.1:8888 \
apt install -y \
curl gpg cairosvg ghostscript imagemagick poppler-utils
RUN curl -fsSL --proxy "http://172.17.0.1:8888" https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
ENV NODE_MAJOR=22
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
RUN http_proxy=http://172.17.0.1:8888 \
https_proxy=http://172.17.0.1:8888 \
apt update && \
http_proxy=http://172.17.0.1:8888 \
https_proxy=http://172.17.0.1:8888 \
apt install -y \
nodejs
#npm get installed automatically
COPY --from=builder /bbb-export-annotations /bbb-export-annotations
COPY ./config/settings.json /bbb-export-annotations/config/settings.json
USER bigbluebutton
WORKDIR /bbb-export-annotations
ENV NODE_ENV=production
ENTRYPOINT npm start