Comments (15)
@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.
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.
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.
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.
from docker.
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.
Hello.
Where is this gist what you're talking about?
from docker.
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.
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.
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.
If you have a working version of the "ugly" way, could you share it please?
from docker.
It did not pass our internal QA, so no - at this time - I can not, sorry.
Edit: not even the ok parts.
from docker.
What about just building this repository's v2.2.x
branch? It was suggested here and it builds.
from docker.
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.
@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.
@L3o-pold I think you're trying to start bbb on different port than 80.
from docker.
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)
- Developer Docker Setup
- E900002: Subversion support temporarily disabled. HOT 1
- Language customization and presentation file HOT 1
- Containers keep crashing and spam logs HOT 2
- Why can't i join room :< HOT 1
- Favicon is not shown HOT 2
- Clientversion: <no value> HOT 3
- Received Error 'services.webrtc-sfu.build Additional property additional_contexts is not allowed' HOT 1
- Use existing SSL/TLS certificates
- BBB Docker support linux/arm64/v8 platform HOT 1
- Session loads infinity HOT 3
- unzip is missing on bbb-docker-freeswitch
- Binding of "0.0.0.0" for etherpad container leads to health-check issues with docker 25.0.5 HOT 1
- Installation of docker compose with webhooks HOT 1
- Why actually deleted recordings doesn't removes from greenlight web interface. HOT 2
- CLIENT_TITLE not applied to Guest Waiting Room
- Couldn't start room HOT 5
- Camera Profiles HOT 1
- How to run bbb-conf command? HOT 1
- How to customize bigbluebutton files & config? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker.