Unofficial Mconf Web Conferencing System for BigBlueButton.
2.9K
Unofficial docker image for Mconf Web Conferencing Platform for BigBlueButton.
This repository contains the Dockerfile and all other files needed to build the
image and launch a full blown web video conferencing platform. More info about
Mconf can be found at: http://www.mconf.org
We use docker-compose to build and run the images. Clone this repo and then:
cd docker-mconf-web
sudo docker-compose build
If you don't want to build the image and just use the images available at docker hub then
you can use this other docker-compose.yml
file, and bring up the containers like this:
sudo docker-compose -f docker-compose-prod.yml up
Upon container startup, the images of other needed container will be pulled, like:
SMTP relay, a redis container, a Mariadb database, a nginx proxy server, and a bigbluebutton server.
By default, when the Mconf container is run it will be configured according to the
setup_conf.yml configuration file. The database configuration file database.yml
is already configured to use the included mariadb container, it only needs to be
configured if you plan to use another database.
If you are building a derived image from this one you can add your own custom
configuration file in the Dockerfile, copying them to /var/www/mconf-web/config/. If
not you can use the following environment variables to configure the container
in the file docker-compose.yml:
MCONF_DB_PASSWORD: Mconf user database password. By default is set to changeme.MYSQL_ROOT_PASSWORD: database root user password needed to create the database
and fill it up. Default password is also changeme, to change it, change it on the
mariadb service definition (look at the docker-compose.yml files for an example).MCONF_ADMIN_USERNAMEMCONF_ADMIN_EMAILMCONF_ADMIN_PASSWORDMCONF_ADMIN_NAMEMCONF_SITE_NAMEMCONF_SITE_DESCMCONF_SITE_LOCALE available languages are en, es-419 and pt-br (default is en).MCONF_SITE_DOMAINMCONF_SITE_FEEDBACK_URLMCONF_SITE_ANALYTICS_CODEMCONF_SITE_SIGNATUREMCONF_SITE_SSLMCONF_DISABLE_REGISTRATION Disable user registration.We use a SMTP Relay container to send notification emails. This only need to be set if the included postfix container isn't used.
MCONF_SITE_SMTP_SERVERMCONF_SITE_SMTP_PORTMCONF_SITE_SMTP_DOMAINMCONF_SITE_SMTP_SENDERMCONF_SITE_SMTP_USE_TLSMCONF_SITE_SMTP_AUTO_TLSMCONF_SITE_SMTP_AUTH_TYPEMCONF_WEBCONF_NAME Name for the BigBlueButton server.MCONF_WEBCONF_SERVER BigBlueButton server hostname.MCONF_WEBCONF_SALT Salt of the BigBlueButton server.MCONF_WEBCONF_VERSION version of the BigBlueButton server. This one is optional.If there's linked a BigBlueButton container then there's no need to set MCONF_WEBCONF_SERVER as mconf will be automatically configured to use the linked container.
We also include a redis container so the following variables only need to be set
if you plan to use a different one:
MCONF_REDIS_HOSTMCONF_REDIS_PORTMCONF_REDIS_DBMCONF_REDIS_PASSWORDThe default database password is changeme, to change it, edit the docker-compose.yml
file and change the MYSQL_ROOT_PASSWORD environment variable on the mariadb
image definition before running docker-compose.
Use this docker-compose.yml
file that points to pre-built images to be pulled from docker hub and run instead of
building them:
sudo docker-compose -f docker-compose-prod.yml up
This docker compose file will pull all needed pieces as mentioned before, including
the proxy container. This one is needed to be able to run both mconf-web and the
BigBlueButton container on the same host. The proxy is based on jwilder/nginx-proxy
and increases client_max_body_size=10m to allow bigger presentation uploads. To
use it we need to define an environment variable called VIRTUAL_HOST on the mconf
and BigBlueButton services with the DNS hostname of each of them as their value. By
default default VIRTUAL_HOST is set to mconf.example.com and bbb.example.com
respectively.
After the containers finish starting up you can access the Mconf portal at:
or whatever other hostname you specified on the VIRTUAL_HOST environment variables
for mconf-web and BigBlueButton services. If you are just testing you could add
mconf.example.com and bbb.example.com to your /etc/hosts file pointing to your
docker machine and test it.
I have included backup and restore scripts to backup an mconf install including
the database contents. Scripts are still very basic, there's lots of room for
improvement. Use them at your own risk.
On a running Mconf container exec the following script:
sudo docker exec mconfweb_mconf_1 /mconf_backup.sh
The backup script will create a tarball and copy it to /data/backups which you
can host mount to have access to the backup files from the docker host. The
backup directory can be changed with the MCONF_BACKUP_DIR environment variable.
To restore a backup file created with the previous backup script, two environment variables need to be set:
MCONF_RESTORE=yes Will restore the backup specified by MCONF_RESTORE_FILE
environment variable.MCONF_RESTORE_FILE is the backup name to restore, compressed as a bz2 file.
Backups must be inside the /data/backups directory.You need to mount that backups volume from somewhere, it can be from another volume (using --volumes-from) or mounting a host volume which contains the backup files.
Content type
Image
Digest
Size
604.6 MB
Last updated
over 8 years ago
docker pull juanluisbaptiste/mconf-web