Git Product home page Git Product logo

Comments (15)

vol-pi avatar vol-pi commented on August 25, 2024 3

@someone-somenet-org I can empathize with that 🙂

Since we currently are (among lots of others) in the situation of needing a solution for video conferencing at a larger scale we've spent a lot of effort into getting a containerized solution running.

We've just released a very preliminary documentation: https://release.bbb.uni-ulm.de/

Therefore we have basically taken this repo(2.2.x), moved the bbb-install process to the Dockerfile and added environment variables to configure it with envsubst.

Edit: Direct link to the bbb-repo

Said documentation linked above bootstraps some OpenStack VMs, a (slightly dated) Container Orchestrator and BigBlueButton with Greenlight, Scalelite and some monitoring.

Feedback is welcome and appreciated.

@ffdixon I'd gladly contribute to this repository if this is the direction you want head.

from docker.

L3o-pold avatar L3o-pold commented on August 25, 2024 1

I ended with a Dockerfile like this but bbb-demo do not work.
I have 500 error on /demo/demoHTML5.jsp?username=test&isModerator=true&action=create

java.lang.NullPointerException
	at org.apache.jsp.demoHTML5_jsp.getJoinURLExtended(demoHTML5_jsp.java:259)
	at org.apache.jsp.demoHTML5_jsp._jspService(demoHTML5_jsp.java:1257)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:400)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:344)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
FROM ubuntu:16.04

# install deps
RUN export LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
    && apt-get install -y language-pack-en software-properties-common wget curl \
    && update-locale LANG=en_US.UTF-8

RUN add-apt-repository ppa:bigbluebutton/support -y
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:rmescandon/yq -y
RUN wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | apt-key add -
RUN echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.4.list
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -

RUN wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | apt-key add -
RUN echo "deb https://ubuntu.bigbluebutton.org/xenial-220/ bigbluebutton-xenial main" | tee /etc/apt/sources.list.d/bigbluebutton.list
RUN apt-get update
RUN apt-get dist-upgrade
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections
RUN echo 'debconf debconf/frontend select Dialog' | debconf-set-selections
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt-get install -y coturn tomcat7 supervisor syslog-ng net-tools mongodb-org nodejs bigbluebutton bbb-html5 sudo
RUN mkdir -p /var/log/supervisor
ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf
ADD mod/event_socket.conf.xml /opt/freeswitch/etc/freeswitch/autoload_configs
ADD mod/external.xml /opt/freeswitch/conf/sip_profiles/external.xml
RUN sed -i 's|securerandom.source=file:/dev/random|securerandom.source=file:/dev/urandom|g'  /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security
ADD mod/tomcat7 /etc/init.d/tomcat7
RUN chmod +x /etc/init.d/tomcat7
RUN rm /etc/nginx/sites-available/default

ADD start_up.sh /start.sh

ENTRYPOINT ["/start.sh"]
CMD []

from docker.

ketzu avatar ketzu commented on August 25, 2024

We installed it on our infrastructure using a bare-metal server with ubuntu 16.04 using this install script: https://github.com/bigbluebutton/bbb-install after we couldn't make it work with docker.

from docker.

wemakefuture avatar wemakefuture commented on August 25, 2024

Yes baremetal and docker of greenlight is a goodway. Created a 400 lined gist to fix all the documentation issues and circumstances. Just to fix the SSL force to route it over pure ssl...which is needed to use corefunctions like MICROPHONE took 5 hours.

Basically people should be forced to ONLY set it up in an SSL encrypted enviroment would save a lot of time to manually change all the http to https.

To edit the landing page i need to upload the docker of greenlight and then reintegrate it, this is totally wierd. Please just let people adjust some text.

@someone-somenet-org @ffdixon

from docker.

Upgreydd avatar Upgreydd commented on August 25, 2024

Yes baremetal and docker of greenlight is a goodway. Created a 400 lined gist to fix all the documentation issues and circumstances. Just to fix the SSL force to route it over pure ssl...which is needed to use corefunctions like MICROPHONE took 5 hours.

Basically people should be forced to ONLY set it up in an SSL encrypted enviroment would save a lot of time to manually change all the http to https.

To edit the landing page i need to upload the docker of greenlight and then reintegrate it, this is totally wierd. Please just let people adjust some text.

@someone-somenet-org @ffdixon

Hello.
Where is this gist what you're talking about?

from docker.

someone-somenet-org avatar someone-somenet-org commented on August 25, 2024

We are currently working on the dockerization (80 hours in: looking actually good) of the backend, as running an ubuntu 16 vm is an absolute no-go nowadays, as Ubuntu and their definition on LTS is garbage.

This is the output of our ubuntu 16 vm + installed bbb + convinience stuff like zsh, htop, tmux, ...
(50 packages come from the bbb repos (why thar many?!), so are obviously not supported)

root@vmtest:/# ubuntu-support-status
Support status summary of 'vmtest':

You have 37 packages (4.3%) supported until April 2021 (Community - 5y)
You have 683 packages (78.7%) supported until April 2021 (Canonical - 5y)

You have 0 packages (0.0%) that can not/no-longer be downloaded
You have 148 packages (17.1%) that are unsupported

from docker.

someone-somenet-org avatar someone-somenet-org commented on August 25, 2024

Where is this gist what you're talking about?

Likely for internal use only?
I have written a dockerfile docker-compose file and a few lines how to make it run too... Unsure how many lines that would be but im not publishing it either anytime soon...

Im mostly battling the unhealthy attempt to hardcode ip addresses EVERYWHERE all over the place, instead of using 0.0.0.0 and 127.0.0.1 (and firewalling off what is not supposed to be reachable).

Another 'fun' part is the inconsistent use of techniques to come up with the host's external ip, some of which cannot possinly come up with anything that is not localhost ...

Also there are hardcoded ips in ACLs that make no sense at all...

There definitely are QA-issues with the docs.

For example Bbb behind a firewall wants you to do XXX from the install docs first ... i stopped caring about the docs, because they were plain wrong in some other places too and no info is better than wrong info when reverse-engineering.

Also there seem to be QA issues in other places too... like /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml thinks its bbb v2.1.0, While https://.../bigbluebutton thinks of itself as being

<response>
<returncode>SUCCESS</returncode>
<version>2.0</version>
</response>

And the installer script was installing 220.

So yeah, there is much to fix for the bbb team...

Also freeswitch seems to be an offender of keept it simple too.

from docker.

someone-somenet-org avatar someone-somenet-org commented on August 25, 2024

Every instruction in a dockerfile creates one layer. You do not want to write your dockerfile like this as you will end up with an even bigger image than me. ;)

Anyway: Disregard the old dockerfile, it cannot work with "recent" bbb.

You have 2 options on running bbb in docker:

  • the "faster, but ugly": Run the installer during docker build, install the minimal possible. No coturn, no letsencrypt, no greenlight.
  • look at the installer and create a dockerfile for every component (cluster) and make it nice and use docker-compose to make it work.

Greenlight already comes with docker-compose, so you can just expand that.

The second solution is obviously the correct one/nicer, but unsustainable if not maintained by the devs itself, as we cannot expect them not changing anything. There was a PR that did exactly that, but stopped working for obvious reasons...

I chose the first one. It works, but its not really nice, but its the best possible solution as running a full-blown (outdated) ubuntu vm is not an option and makes no sense.

from docker.

L3o-pold avatar L3o-pold commented on August 25, 2024

If you have a working version of the "ugly" way, could you share it please?

from docker.

someone-somenet-org avatar someone-somenet-org commented on August 25, 2024

It did not pass our internal QA, so no - at this time - I can not, sorry.

Edit: not even the ok parts.

from docker.

lnxbil avatar lnxbil commented on August 25, 2024

What about just building this repository's v2.2.x branch? It was suggested here and it builds.

from docker.

schniggie avatar schniggie commented on August 25, 2024

What about just building this repository's v2.2.x branch? It was suggested here and it builds.

Just tried it, the docker build works, however the image seems broken. The started container doesn't run /opt/setup.sh as expected. I tried start it manually, however setup process hangs forever at:

+ need_pkg bbb-demo
+ check_root
+ '[' 0 '!=' 0 ']'
+ dpkg -s bbb-demo
+ '[' '!' -f /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp ']'
+ sleep 1
+ echo -n .
.+ '[' '!' -f /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp ']'
+ sleep 1
+ echo -n .
.+ '[' '!' -f /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp ']'
+ sleep 1
+ echo -n .
.+ '[' '!' -f /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp ']'

So looks like currently all is broken.

from docker.

lnxbil avatar lnxbil commented on August 25, 2024

@vol-pi Nice work.

There has also been work done is separating all the services and setting up or enhancing a docker-compose.yml setup in bigbluebutton/bigbluebutton#8997

from docker.

musznik avatar musznik commented on August 25, 2024

@L3o-pold I think you're trying to start bbb on different port than 80.

from docker.

alangecker avatar alangecker commented on August 25, 2024

The code in this repository got basically replaced by a complete rewrite (see #43).
Most likely this issue no longer applies to the code.
I will close it for now, but feel free to reopen it if necessary! :)

from docker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.