Public | Automated Build

Last pushed: 5 months ago
Short Description
Dockerized Apache OpenMeetings based on openjdk official image.
Full Description

Introduction

OpenMeetings is software used for presenting, online training, web conferencing, collaborative whiteboard drawing and document editing, and user desktop sharing.

Description

The Dockerfile builds from "openjdk" see https://hub.docker.com/_/openjdk/

Roadmap

  • [X] Swtools and Pdf2Swf support
  • [X] ffMpeg support
  • [X] JodConverter support
  • [X] LibreOffice support
  • [ ] External linked database autoconf (PosgreSQL, MySQL)
  • [ ] LDAP autoconf
  • [ ] Persistent data volumes

Quick Start

You will need to open 2 ports:

  • 1935 RTMP (Flash Stream and Remoting/RPC)
  • 5080 HTTP (For example for file upload and download)
  • 8081 for WebSockets
docker run -it --rm --name openmeetings -p 1935:1935 -p 5080:5080 -p 8081:8081 fjudith/openmeetings

Then open http://ipaddress:5080/openmeetings and proceed to the installation

Configuration

Deployment using PostgreSQL

Database is created by the database container and automatically populated by the application container on first run.

docker run -it -d --name openmeetings-pg \
--restart=always \
-e POSTGRES_USER=openmeetings \
-e POSTGRES_PASSWORD=Ch4ng3M3 \
-e POSTGRES_DB=openmeetings \
-v openmeetings-db:/var/lib/postgresql \
postgres

sleep 10

docker run -it -d --name=openmeetings \
--link openmeetings-pg:postgres \
--restart=always \
-p 1935:1935 \
-p 5080:5080 \
-p 8081:8081 \
fjudith/openmeetings

Deployment using MySQL

Database is created by the database container and automatically populated by the application container on first run.

docker run -it -d --name openmeetings-md \
-e MYSQL_ROOT_PASSWORD=Ch4ng3M3 \
-e MYSQL_USER=openmeetings \
-e MYSQL_PASSWORD=Ch4ng3M3 \
-e MYSQL_DATABASE=openmeetings \
-v squash-tm-db:/var/lib/mysql/data \
mariadb --character-set-server=utf8_bin --collation-server=utf8_bin

sleep 10

docker run -it -d --name=openmeetings \
--link openmeetings-md:mysql \
--restart=always \
-p 1935:1935 \
-p 5080:5080 \
-p 8081:8081 \
fjudith/openmeetings

Initial setup

Wait 3-5 minutes for Apache OpenMeetings to initialize. then login to http://ipaddress:5080.
Then follow the installation wizard.







Flash and Java

Unfortunately, OpenMeetings needs Flash to share webcam and Java web plugin to share desktop (only for the sender). On linux, you may installe icedtea-web package and use Firefox to be able to send desktop.

Docker Pull Command
Owner
fjudith
Source Repository

Comments (1)
ndandanov
3 months ago

Thank you for the comprehensive documentation and useful container!

Just a small note:
With MySQL, I had to use

collation-server=utf8_unicode_ci
character-set-server=utf8

instead of utf8_bin.

(source: https://issues.apache.org/jira/browse/OPENMEETINGS-1493)

Otherwise, the MySQL container would complain:

ERROR: mysqld failed while attempting to check config
command was: "mysqld --character-set-server=utf8_bin --collation-server=utf8_bin --verbose --help --log-bin-index=/tmp/tmp.3M1jYlqj4l"

mysqld: Character set 'utf8_bin' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
mysqld: Character set 'utf8_bin' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file

For MySQL, it is needed to add the respective MySQL connector JAR file. I accomplished this with:

  1. Read http://openmeetings.apache.org/MySQLConfig.html.
  2. Download the MySQL Connector/J from https://dev.mysql.com/downloads/connector/j/.
  3. Untar/unzip it:
root@docker-vm:~# tar xzvf mysql-connector-java-5.1.42.tar.gz

root@docker-vm:~# cd mysql-connector-java-5.1.42/
root@docker-vm:~/mysql-connector-java-5.1.42# ls
build.xml  CHANGES  COPYING  docs  mysql-connector-java-5.1.42-bin.jar    README    README.txt  src
  1. Copy the JAR file to the container in /opt/apache-openmeetings/webapps/openmeetings/WEB-INF/lib using docker cp:

    root@docker-vm:~/mysql-connector-java-5.1.42# docker cp mysql-connector-java-5.1.42-bin.jar openmeetings:/opt/apache-openmeetings/webapps/openmeetings/WEB-INF/lib
    
  2. You may want to check whether the JAR file copied successfully:

    root@docker-vm:~# docker exec -i -t openmeetings /bin/bash
    root@360fcfbae3ef:/opt/apache-openmeetings# ls /opt/apache-openmeetings/webapps/openmeetings/WEB-INF/lib | grep mysql
    mysql-connector-java-5.1.42-bin.jar
    
  3. Restart the container:

    root@docker-vm:~# docker restart openmeetings
    openmeetings
    

Also, in the database configuration during the OpenMeetings installation, I had to substitute localhost with openmeetings-md as the DB host.

Good luck!