bigbluebutton / docker

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

Can't find BBB Docker frontend #284

Open okulvitra opened 1 year ago

okulvitra commented 1 year ago

Hi, Sorry, very noob question here.

I installed BBB with Docker, and all the images seems to run fine:

[+] Running 23/23
 ✔ Container bbb-docker-redis-1                Started                                                 8.5s
 ✔ Container bbb-docker-jodconverter-1         Started                                                 8.5s
 ✔ Container bbb-docker-postgres-1             Started                                                 8.4s
 ✔ Container bbb-docker-prometheus-exporter-1  Started                                                 7.9s
 ✔ Container bbb-docker-kurento-1              Started                                                 3.1s
 ✔ Container bbb-mongodb                       Started                                                 8.4s
 ✔ Container bbb-freeswitch                    Started                                                 3.1s
 ✔ Container bbb-docker-https_proxy-1          Started                                                 3.1s
 ✔ Container bbb-docker-coturn-1               Started                                                 3.1s
 ✔ Container bbb-docker-periodic-1             Started                                                 9.6s
 ✔ Container bbb-docker-etherpad-1             Started                                                10.4s
 ✔ Container bbb-docker-webrtc-sfu-1           Started                                                 8.6s
 ✔ Container bbb-docker-greenlight-1           Started                                                 9.7s
 ✔ Container bbb-docker-fsesl-akka-1           Started                                                 9.8s
 ✔ Container bbb-docker-apps-akka-1            Started                                                10.4s
 ✔ Container bbb-docker-html5-backend-1-1      Started                                                12.0s
 ✔ Container bbb-docker-html5-backend-2-1      Started                                                12.7s
 ✔ Container bbb-docker-html5-frontend-2-1     Started                                                13.0s
 ✔ Container bbb-docker-html5-frontend-1-1     Started                                                12.0s
 ✔ Container bbb-docker-bbb-pads-1             Started                                                13.6s
 ✔ Container bbb-docker-nginx-1                Started                                                12.7s
 ✔ Container bbb-docker-recordings-1           Started                                                15.3s
 ✔ Container bbb-docker-bbb-web-1              Started                                                15.3s

I also created the admin account with the command listed in the README.

However, I fail to see where I can access the frontend of this docker and localhost doesn't seem to work. Do I miss something here?

Appreciate any help on this. Thanks!

JeanPluzo commented 1 year ago

Hi, there's no "frontend" per se. BBB works mainly in the background. There are, however, frontend applications (Greenlight, Moodle, etc) which communicate with BBB. Try installing Greenlight and connect/configure it to/for BBB. GL

Regards, J.

okulvitra commented 1 year ago

Hi, there's no "frontend" per se. BBB works mainly in the background. There are, however, frontend applications (Greenlight, Moodle, etc) which communicate with BBB. Try installing Greenlight and connect/configure it to/for BBB. GL

Regards, J.

Hi Jean, thanks for your answer!

Yes, I installed Greenlight during the Docker installation, but I was wondering how to access it now that everything is running.

Best,

JeanPluzo commented 1 year ago

Can't really speak 100% for dockerized BBB, but if everything is running in containers, all you would have to do is tell nginx-docker-container where exactly the greenlight-container is. However, I see in your 1st post that there's already a GL container running as well as an nginx container. Is the nginx container accessible through port 80/443 (curl http(s)://your.server.name)? Or, which service is listening on port 80/443 (ss -ntlp)?

Regards, J.

okulvitra commented 1 year ago

I followed the installation instructions, so I have an nginx container and a greenlight container: image

However, during the installation, the nginx never asked for a server name. I must specify that I'm running this docker locally, so I'm not on an AWS server or else, I wanted to try it on localhost. the ss -ntlp is throwing this: image

JeanPluzo commented 1 year ago

There's an .env file mentioned in the instructions. In this file there are DOMAIN and EXTERNAL_IPv4 variables. Whatever you wrote in the DOMAIN variable would be your server name and the way you access GL. However, if ss -ntlp says there are open ports... well you are going to have to dig deeper. Did you run the setup script as stated in the instructions? It should've asked you for a domain name. Are you setting this up in a test environment (a private lan)?

Regards, J.

okulvitra commented 1 year ago

Yes indeed! I must say I totally overlooked these,

I would like to setup a test environment yes, I want to try BBB and Greenlight locally on my computer, so I'm unsure if the configuration is meant for that. Can I use a DOMAIN like "localhost" or something like that?

JeanPluzo commented 1 year ago

In my experience, a localhost domain is not a good idea. Try any other domain (myreallycrazydomain.local for example). Afterwards you can change the hosts file (windows or linux) to assign that domain to your local (private) ip address. If you're doing a test env, you might have problems with the certificates. Just a heads up.

Regards, J.

okulvitra commented 1 year ago

Okay, thank you very much for your answers!

I put a mydomain.net instead of the localhost and modified the hosts file but I can't connect still. It's throwing a ERR_CONNECTION_TIMED_OUT.

I restarted everything but maybe I'm missing something, sorry for the noob questions.

JeanPluzo commented 1 year ago

What is the output of docker container ls -a and (again) ss -ntlp?

okulvitra commented 1 year ago

Hi Jean,

Here's the output of docker container ls -a: image

And ss -ntlp: image

Best,

JeanPluzo commented 1 year ago

Well, every container seems to be doing fine. However, neither the bbb-docker-nginx container nor the bbb-docker-web container have any ports "assigned" to them (I'm assuming one of these is the web server). Either one of these containers should have something like 0.0.0.0:80->80/tcp or 0.0.0.0:443->443/tcp under the PORTS column. This is done via the docker-compose.yml file or the setup script. Since I haven't tried the docker version of BBB I can't give specific details of how to do this, but it should be done via docker. Once you figure out a way to open the the mentioned ports, you should have an output in the ss -ntlp command in the way of LISTEN 0 4096 0.0.0.0:80 0.0.0.0:*

Regards, J.

okulvitra commented 1 year ago

Well, I tried dozens of possibilities and I'm running out of ideas...

I tried to use dnsmasq and resolvconf to be able to access it somehow (following this https://stackoverflow.com/questions/39400886/docker-cannot-resolve-dns-on-private-network) but i'm still unable to connect to Greenlight and I have nothing new under docker ps or ss -ntlp

I also tried to modify the nginx.conf file but with no results...

I think there's a problem somewhere in the Docker image or the config script to be able to use that on a private network.

Thanks for your help, I don't think I will be able to resolve this unfortunately

okulvitra commented 1 year ago

Also, I don't know if that's normal but I don't see any "docker0" in my list, though it's mentioned in many solutions in others places. image

Maybe I have a network config problem with this docker

JeanPluzo commented 1 year ago

Doesn't seem to be a network problem. But after your last two messages I would advice you to read a bit more about docker, networking in docker, docker compose and making containers available to the "outside world" (outside your current server). Again, if no ports are exposed, you're never going to reach BBB inside the docker network and you're going to get errors, no matter how much you play with dnsmasq, resolvconf etc.

Regards, J.

okulvitra commented 1 year ago

Hi Jean,

I spent my day again pulling my hair around this, I managed to open ports for the nginx but it led to an ERR EMPTY RESPONSE. Found this conversation where this person managed the port forwarding: "https://groups.google.com/g/bigbluebutton-dev/c/QZqJFabs6j4/m/Vx_-UJvhAQAJ"

Unfortunately, no luck for me. I'm also on WSL2 running Ubuntu 20.04 but since I deal with the automated image of the docker-compose, I'm afraid I can't really make it work.

I tried with the IPV4 of the "eth0" instead of my real external IPV4. Not working. Tried with setting up IPV6. Not working. Tried to port forward the nginx server. Empty response.

At this stage, I see two possibilities:

Since I don't find other person having this issue, I think I'm out of luck here.

JeanPluzo commented 1 year ago

You're saying you installed BBB docker... inside Ubuntu 20.04... inside WSL2... inside some windows flavor!!??? No wonder it's giving you a hard time! For starters, BBB is supposed to be installed in a so called "bare metal" server (no virtualization). Of course many of us admins install it in a VM, but that's about the most virtualization it should have. Then there's bbb-docker, which in itself is a second virtualization layer. I've never tried it, but it doesn't seem to be that easy to properly configure, since you already have the docker virtualization layer. You're trying to put all this inside yet another virtualization layer (WSL2) running under windows. Like you said, you're going to pull your hair trying to make it work. I tried doing some stuff in WSL2 last year (not related to BBB) and it just didn't work. If you're installing bbb-docker for the sake of testing, better try it on something like VirtualBox or VmWare. It's going to be way easier than trying to (somehow) run it inside windows/WSL2.

Regards, J.

okulvitra commented 1 year ago

Yeah, I wanted to install it and run some local demo to see the features and how things are working. Turns out, it's quite complicated to make it run with WSL2 in Windows 11.

I already installed some LMS and others programs in Docker to have it running locally and try some features without going through the entire setup of an AWS instance, port forwarding, domain name etc... for the sake of trying some piece of software.

I'll give a shot with Virtual box and see if it's better that way. If not, I will install it on some instance on AWS and do a more "normal" bare metal install :-)

Best,