Opencast image for the admin distribution
6.3K
This repository holds Dockerfiles for creating Opencast Docker images.
All images are available on Docker Hub. To install the image simply pull the distribution you want:
$ docker pull "opencast/<distribution>"
To install a specific version, use the following command:
$ docker pull "opencast/<distribution>:<version>"
If you want to build the images yourself, there is a Makefile with the necessary docker build commands for all distributions. Running make in the root directory will create these images. To customize the build you can override these variables:
DOCKER_IMAGE_BASEopencast and will be extended by the name of the Opencast distribution.DOCKER_TAGVERSION.REPOBRANCHDOCKER_TAG.CUSTOM_DOCKER_BUILD_ARGSdocker build, e.g. you can set this to --no-cache to force an image build. By default empty.A quick local test system can be started using docker-compose. After cloning this repository you can run this command from the root directory:
$ export HOSTIP=<IP address of the Docker host>
$ docker-compose -p opencast-allinone -f docker-compose/docker-compose.allinone.h2.yml up
This will run Opencast using the allinone distribution configured to use the bundled H2 Database Engine.
In the ./docker-compose directory there are also compose files for more production-like setups. docker-compose.allinone.mariadb.yml uses a MySQL database instead of H2, while docker-compose.multiserver.mariadb.yml demonstrates how to connect the different distributions. Replace the compose file in the command above if you want to use them instead. You can find more information about the compose files here.
Opencast comes in different distributions. For each of the official distributions there is a specific Docker image. Each version is tagged. For example the full image name containing the admin distribution at version 4.3 is opencast/admin:4.3. Leaving the version out will install the latest one.
allinoneThis image contains all Opencast modules necessary to run a full Opencast installation. It's useful for small and local test setups. If you however want to run Opencast in a distributed fashion, you probably should use a combination of admin, worker and presentation containers.
admin, adminpresentation, adminworker, ingest, presentation and worker,These images contain the Opencast modules of the corresponding Opencast distributions.
buildThis images helps you set up a development environment for Opencast. For more information see here.
migrationThis images contains the smalles set of modules necessary for supporting you to migrate from an older Opencast version to a newer one.
The images come with multiple commands. You can see a full list with description by running:
$ docker run --rm opencast/<distribution> app:help
Usage:
app:help Prints the usage information
app:print:ddl Prints SQL commands to set up the database
app:print:activemq.xml Prints the configuration for ActiveMQ
app:init Checks and configures Opencast but does not run it
app:start Starts Opencast
[cmd] [args...] Runs [cmd] with given arguments
It's recommended to configure Opencast by using Docker Volumes:
$ docker run -v "/path/to/opencast-etc:/etc/opencast" opencast/<distribution>
The most important settings, however, can be configured by environment variables. You can use this functionally to generate new configuration files. For this start a new container with specific variables and execute the app:init command. This will ensure you haven't missed anything, write the configuration files and exit. Then you can copy the files to a target directory:
$ docker run --name opencast_generate_config \
-e "ACTIVEMQ_BROKER_URL=failover://tcp://example.opencast.org:61616" \
-e "ACTIVEMQ_BROKER_USERNAME=admin" \
-e "ACTIVEMQ_BROKER_PASSWORD=password" \
-e "ORG_OPENCASTPROJECT_SERVER_URL=http://localhost:8080" \
-e "ORG_OPENCASTPROJECT_SECURITY_ADMIN_USER=admin" \
-e "ORG_OPENCASTPROJECT_SECURITY_ADMIN_PASS=opencast" \
-e "ORG_OPENCASTPROJECT_SECURITY_DIGEST_USER=opencast_system_account" \
-e "ORG_OPENCASTPROJECT_SECURITY_DIGEST_PASS=CHANGE_ME" \
opencast/<distribution> "app:init"
$ docker cp opencast_generate_config:/opencast/etc opencast-config
$ docker rm opencast_generate_config
Make sure to use the correct Opencast distribution as there are small differences.
ORG_OPENCASTPROJECT_SERVER_URL Optionalhttp://<Fully Qualified Host Name>:8080.ORG_OPENCASTPROJECT_SECURITY_ADMIN_USER RequiredORG_OPENCASTPROJECT_SECURITY_ADMIN_PASS RequiredORG_OPENCASTPROJECT_SECURITY_DIGEST_USER RequiredORG_OPENCASTPROJECT_SECURITY_DIGEST_PASS RequiredORG_OPENCASTPROJECT_DOWNLOAD_URL Optional${org.opencastproject.server.url}/static.ORG_OPENCASTPROJECT_ADMIN_EMAIL Optionaladmin@localhost.For an installation with multiple nodes you can also set:
PROP_ORG_OPENCASTPROJECT_FILE_REPO_URL Optional${org.opencastproject.server.url} in the allinone distribution and ${org.opencastproject.admin.ui.url} for every other one.PROP_ORG_OPENCASTPROJECT_ADMIN_UI_URL Required for all but allinonePROP_ORG_OPENCASTPROJECT_ENGAGE_UI_URL Required for all but allinoneThe migration distribution has the following additional options:
ORG_OPENCASTPROJECT_MIGRATION_ORGANIZATION Optionalmh_default_org.ACTIVEMQ_BROKER_URL Requiredfailover://tcp://example.opencast.org:61616ACTIVEMQ_BROKER_USERNAME RequiredACTIVEMQ_BROKER_PASSWORD RequiredORG_OPENCASTPROJECT_DB_VENDOR OptionalH2 or MySQL. The default is H2.ORG_OPENCASTPROJECT_DB_DDL_GENERATION Optionalfalse. In case of H2 it is always set to true.NUMER_OF_TIMES_TRYING_TO_CONNECT_TO_DB OptionalThere are no additional environment variables you can set if you are using the H2 database.
ORG_OPENCASTPROJECT_DB_JDBC_URL RequiredORG_OPENCASTPROJECT_DB_JDBC_USER RequiredORG_OPENCASTPROJECT_DB_JDBC_PASS RequiredTIMEZONE Optional/usr/share/zoneinfo/, for example Europe/Berlin. The default is UTC.The data directory is located at /data. Use Docker Volumes to mount this directory on your host.
Opencast makes use of Tesseract to recognize text in videos (ORC) and Hunspell to identify spelling mistakes. Both need additional files namely traningsdata and dictionaries respectively. These images come with files for the English language. If you need other or more languages you can use Docker Volumes to mount them in the appropriate directories /usr/share/tessdata and /usr/share/hunspell.
Content type
Image
Digest
Size
519.5 MB
Last updated
over 8 years ago
docker pull opencast/admin