Testing Locally with Docker
Opencast is a complex system that requires multiple steps to install and configure properly, which may be too
complicated for quick, local testing. Therefore, the University of Münster provides various Docker images for Opencast
that can simplify this process. The only requirement is an x86_64
Linux system with a running Docker Engine.
This method is ideal for new adopters who just want to try out Opencast. It can also be used to test workflows. Because of the isolation that Docker provides, multiple instances of Opencast can run in parallel on a single system. This might be helpful for developers.
Install Docker
Docker is available for multiple Linux distributions. Please have a look at the official
documentation for the latest installation instructions. Note that it
might be necessary to install docker-compose
separately.
Start with docker-compose
Opencast is packaged into multiple distributions. There is a separate Docker image for each distribution. Simple installations can use the all-in-one distribution.
Opencast requires a database and a message broker (Apache ActiveMQ). We currently support H2 or MySQL/MariaDB databases.
The Docker Hub repository has official Docker images for MySQL and MariaDB. H2 is already integrated into Opencast so
that no database container is needed. There are multiple 3rd-party Docker images for ActiveMQ; this guide uses
webcenter/activemq
.
docker-compose
can be used to configure, start and connect all services automatically. The opencast-docker
repository contains multiple configuration
examples:
Configuration | Compose file |
---|---|
all-in-one + H2 | https://raw.githubusercontent.com/opencast/opencast-docker/<version>/docker-compose/docker-compose.allinone.h2.yml |
all-in-one + MariaDB | https://raw.githubusercontent.com/opencast/opencast-docker/<version>/docker-compose/docker-compose.allinone.mariadb.yml |
admin, presentation, worker + MariaDB | https://raw.githubusercontent.com/opencast/opencast-docker/<version>/docker-compose/docker-compose.multiserver.mariadb.yml |
Choose and download a configuration:
$ curl -o docker-compose.yml <URL>
You might want to edit the compose file and add extra volumes to include custom configurations or workflows (see compose file reference).
The compose files assume that the ActiveMQ configuration is located at ./assets/activemq.xml
. Additionally, if you use
MariaDB, the SQL DDL commands for the Opencast database must be available at ./assets/opencast-ddl.sql
. You can
download both files from the repository:
$ mkdir assets
$ curl -o assets/activemq.xml https://raw.githubusercontent.com/opencast/opencast-docker/<version>/docker-compose/assets/activemq.xml
$ curl -o assets/opencast-ddl.sql https://raw.githubusercontent.com/opencast/opencast-docker/<version>/docker-compose/assets/opencast-ddl.sql
Alternatively, you can use the Docker images to generate these files. This has the advantage that the correct version is always used:
$ mkdir assets
$ docker run -it --rm \
quay.io/opencast/allinone:<version> \
app:print:activemq.xml > assets/activemq.xml
$ docker run -it --rm \
-e ORG_OPENCASTPROJECT_DB_VENDOR=MySQL \
quay.io/opencast/allinone:<version> \
app:print:ddl > assets/opencast-ddl.sql
At this point you are ready to start Opencast with the up
command:
$ docker-compose up
After downloading the necessary Docker images, docker-compose
should start all relevant services and you should see
the logging output. Alternatively, adding the -d
flag will start Opencast in the background and hide the log messages.
The admin UI is available at http://localhost:8080.
The down
command will stop Opencast and remove the created Docker containers. All relevant Opencast files are still
preserved in Docker volumes. To remove them as well, run down -v
instead.