bigbluebutton / docker

Docker files for BigBlueButton
GNU Lesser General Public License v3.0
359 stars 240 forks source link

Support for BigBlueButton v2.6 #245

Closed alangecker closed 1 year ago

alangecker commented 1 year ago

BBB 2.6 is on the way, but I have currently not really much capacity to take care about it.

Anyone up for looking into this task? 🙂

steps

lightweight commented 1 year ago

Need to make sure the latest FFMPEG is included (i.e. the newest Debian is used) for the Recording container. I've had to manually upgrade it on the Recording container with recent minor updates I've made... Keen to help with testing if/when you've got testable code. Happy to build containers.

alangecker commented 1 year ago

@lightweight I got now testable code #255 (should work with git checkout v2.6 && ./scripts/upgrade-and-build && echo thanks for waiting so long && docker-compose up -d), if you are currently motivated, I would be happy if someone could test it 🙂

especially whether the recording (including all subfeatures) works properly would be cool to know.

With the dev setup (https://10.7.7.1) it currently doesn't work that greenlight receives the webhooks (e.g. meeting_ended) due to the errors because of the self signed certificate. so testing recordings with greenlight won't work

Zoey2936 commented 1 year ago

I get while building the images the following error:

 => CANCELED [builder 2/5] RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/v2.6.0/bigbluebutton-html5 /source     && cd /source     && meteor npm ci --production     && METEOR_DISABLE_OPTIMISTI  2.3s
failed to solve: process "/bin/sh -c cd /tmp/ &&     wget -q -O bbb-presentation-video.zip \"https://github.com/bigbluebutton/bbb-presentation-video/releases/download/${TAG_BBB_PRESENTATION_VIDEO}/ubuntu-20.04.zip\" &&     unzip -o bbb-presentation-video.zip -d bbb-presentation-video &&     dpkg -i bbb-presentation-video/bbb-presentation-video*.deb &&     rm -rf /tmp/*" did not complete successfully: exit code: 127
InforMedic commented 1 year ago

Trying to build the 2.6 stack on my RancherDesktop for Mac it fails with the same error Zoey2936 mentioned. Seems to be related to missing unzip package.

ERROR [alangecker/bbb-docker-recordings:v2.6.0 15/19] RUN cd /tmp/ && wget -q -O bbb-presentation-video.zip "https://github.com/bigbluebutton/bbb-presentation-video/releases/download/4.0.0-rc.2/ubuntu-20.04.zip" && unzip -o bbb-presentation-video.zip -d bbb-presentation- 2.5s

[alangecker/bbb-docker-recordings:v2.6.0 15/19] RUN cd /tmp/ && wget -q -O bbb-presentation-video.zip "https://github.com/bigbluebutton/bbb-presentation-video/releases/download/4.0.0-rc.2/ubuntu-20.04.zip" && unzip -o bbb-presentation-video.zip -d bbb-presentation-video && dpkg -i bbb-presentation-video/bbb-presentation-video.deb && rm -rf /tmp/:

0 2.088 /bin/sh: 1: unzip: not found

I also had some warnings about missing env vars: DATABASE_URL (i think REDIS_URL is also needed), TURN_SECRET and SECRET_KEY_BASE. I have had to add them manually..

I used the following envs to get greenlight running with v.2.5.10

REDIS_URL=redis://redis:6379 DATABASE_URL=postgres://postgres:SuperPostgresSecret@postgres:5432/greenlight

----- EDIT: Simply adding unzip \ to the install apt dependencies in /bbb/mod/recordings/Dockerfile solved above error. Images are still building and i can grab a cup of coffee =)

alangecker commented 1 year ago

@Zoey2936 I've just added the missing unzip dependency, would be great if you could try it again :) and @InforMedic looking forward to hear how it is going 🙂

Zoey2936 commented 1 year ago

I've didn't made a big test, but a conference and greenlight worked. I've didn't tested recording

alangecker commented 1 year ago

it seems to run so far and bbb-docker Release 2.6.0 is upcoming.

for any further errors please open a separate issue or comment in the PR as long as it is not merged :)

InforMedic commented 1 year ago

Just for Info: To fully get this stack compiled and running i also had to chmod 998:998 several referenced container volume folders on my local file system to be able to mount with correct bigbluebutton userid:groupid. Otherwise the chmod in the dockerfiles fails with no permission to do that. This is no issue but maybe you want to mention that in the docs part.

Thanks so far for the update to 2.6 - great job !!!

alangecker commented 1 year ago

@InforMedic all chmod commands in the dockerfiles are executed as root, so I can't understand why they would fail 🤔 what folders and containers are we talking about?

InforMedic commented 1 year ago

It was related to the 2 conf definitions in the freeswitch service (conf/sip_profilesand conf/dialplan_public). There was a message saying that they coul not be mounted into the container (permission denied). I helped myself temporarly by uncommenting. Next build was a similar error related to the volume in the greenlight service (because the folder locally doesnt exists). Creating it like i normally do with bind mounts didnt helped - now i received the message permission denied (like i had with freeswitch) . Then i chmod greenlight-data and the build went through.

Then checking everything again today, i see i forgot to re-uncomment the freeswitch volumes so i am able to quickly reproduce this topic without chmodding anything. But this time the build of freeswitch and everything else went through (what is good =). Re-checking the 998:988 on my filesystem -> the greenswitch-data folder is again my user permission?!? look like i never did what i wrote?! so i think we better forget about this topic. :)

lightweight commented 1 year ago

Apologies, @alangecker - got distracted by other things. Just trying to upgrade a recently deployed dockerised BBB on the latest v2.5 to v2.6... will report back. Many thanks for your hard work on this!

lightweight commented 1 year ago

Hah, great work @alangecker! Many thanks for you continued hard work. I finally got 2.6 going including the Greenlight upgrade, migration of recordings from a separate 2.5 instance, and got Coturn working with ENABLE_HTTPS_PROXY=false (so I could run other services on this same instance), although haven't figured out how to get it to allow generating 'video' versions of recordings (working on that now)... If I can help anyone else, let me know.