All Projects → opencast → Opencast Docker

opencast / Opencast Docker

Licence: ecl-2.0
Dockerfiles for Opencast

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Opencast Docker

Opencast
The free and open source solution for automated video capture and distribution at scale.
Stars: ✭ 194 (+618.52%)
Mutual labels:  hacktoberfest, video-processing
Earthly
Repeatable builds
Stars: ✭ 5,805 (+21400%)
Mutual labels:  hacktoberfest, docker-images
Moviepy
Video editing with Python
Stars: ✭ 8,795 (+32474.07%)
Mutual labels:  hacktoberfest, video-processing
Gitlab Ci Pipeline Php
☕️ Docker images for test PHP applications with Gitlab CI (or any other CI platform!)
Stars: ✭ 451 (+1570.37%)
Mutual labels:  hacktoberfest, docker-images
Pi Hole
A black hole for Internet advertisements
Stars: ✭ 34,076 (+126107.41%)
Mutual labels:  hacktoberfest
Ktx
LibKTX: Kotlin extensions for LibGDX games and applications
Stars: ✭ 913 (+3281.48%)
Mutual labels:  hacktoberfest
React Weather App
⛅️ A weather app built with React.
Stars: ✭ 21 (-22.22%)
Mutual labels:  hacktoberfest
Postgresql Postgis Timescaledb
PostgreSQL + PostGIS + TimescaleDB docker image 🐘🌎📈
Stars: ✭ 19 (-29.63%)
Mutual labels:  hacktoberfest
Conjugar
Conjugar is an app for learning Spanish verb conjugations.
Stars: ✭ 27 (+0%)
Mutual labels:  hacktoberfest
Definitelytyped
The repository for high quality TypeScript type definitions.
Stars: ✭ 37,066 (+137181.48%)
Mutual labels:  hacktoberfest
Rocket.chat
The communications platform that puts data protection first.
Stars: ✭ 31,251 (+115644.44%)
Mutual labels:  hacktoberfest
Magma
Platform for building access networks and modular network services
Stars: ✭ 913 (+3281.48%)
Mutual labels:  hacktoberfest
Tldr
📚 Collaborative cheatsheets for console commands
Stars: ✭ 36,408 (+134744.44%)
Mutual labels:  hacktoberfest
Strawberries
Computer vision on 🍓
Stars: ✭ 21 (-22.22%)
Mutual labels:  video-processing
Julia
The Julia Programming Language
Stars: ✭ 37,497 (+138777.78%)
Mutual labels:  hacktoberfest
Kamekazi
Self destructing messages
Stars: ✭ 21 (-22.22%)
Mutual labels:  hacktoberfest
Sentry
Sentry is cross-platform application monitoring, with a focus on error reporting.
Stars: ✭ 29,700 (+109900%)
Mutual labels:  hacktoberfest
Hackathon Starter
A boilerplate for Node.js web applications
Stars: ✭ 32,485 (+120214.81%)
Mutual labels:  hacktoberfest
Videoflow
Python framework that facilitates the quick development of complex video analysis applications and other series-processing based applications in a multiprocessing environment.
Stars: ✭ 914 (+3285.19%)
Mutual labels:  video-processing
Recognizers Text
Microsoft.Recognizers.Text provides recognition and resolution of numbers, units, and date/time expressed in multiple languages (ZH, EN, FR, ES, PT, DE, IT, TR, HI. Partial support for NL, JA, KO, SV). Contributions are greatly welcome! Packages are available at https://www.nuget.org/profiles/Recognizers.Text and https://www.npmjs.com/~recognizers.text
Stars: ✭ 915 (+3288.89%)
Mutual labels:  hacktoberfest

Opencast Docker images

Build Status Docker Repository on Quay

Introduction

This repository holds Dockerfiles for creating Opencast Docker images.

Installation

All images are available on Quay. To install the image simply pull the distribution you want:

$ docker pull "quay.io/opencast/<distribution>"

To install a specific version, use the following command:

$ docker pull "quay.io/opencast/<distribution>:<version>"

Build

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_BASE
    The first part of the image name. It defaults to opencast and will be extended by the name of the Opencast distribution.
  • DOCKER_TAG
    The tag of the image. Defaults to the content of VERSION.
  • REPO
    The git repository to clone Opencast from. The default is the upstream repository, but you can use your own fork.
  • BRANCH
    The name of the git branch to check out. Defaults to the value of DOCKER_TAG.
  • CUSTOM_DOCKER_BUILD_ARGS
    Custom arguments that should be passed to docker build, e.g. you can set this to --no-cache to force an image build. By default empty.

Quick Start

A quick local test system can be started using docker-compose. After cloning this repository you can run this command from the root directory:

$ 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 and docker-compose.allinone.postgresql.yml uses the MariaDB and PostgreSQL databases, respectively, while docker-compose.multiserver.mariadb.yml and docker-compose.multiserver.postgresql.yml demonstrate 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.

Images

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 9.2 is quay.io/opencast/admin:9.2. Leaving the version out will install the latest one.

allinone

This 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, ingest, presentation and worker,

These images contain the Opencast modules of the corresponding Opencast distributions.

build

This image helps you set up a development environment for Opencast. For more information see here.

Usage

The images come with multiple commands. You can see a full list with description by running:

$ docker run --rm quay.io/opencast/<distribution> app:help
Usage:
  app:help                Prints the usage information
  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

Configuration

It's recommended to configure Opencast by using Docker Volumes:

$ docker run -v "/path/to/opencast-etc:/etc/opencast" quay.io/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" \
  quay.io/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.

Opencast

  • ORG_OPENCASTPROJECT_SERVER_URL Optional
    The HTTP-URL where Opencast is accessible. The default is http://<Fully Qualified Host Name>:8080.
  • ORG_OPENCASTPROJECT_SECURITY_ADMIN_USER Required
    Username of the admin user.
  • ORG_OPENCASTPROJECT_SECURITY_ADMIN_PASS Required
    Password of the admin user. You may alternatively set ORG_OPENCASTPROJECT_SECURITY_ADMIN_PASS_FILE to the location of a file within the container that contains the password.
  • ORG_OPENCASTPROJECT_SECURITY_DIGEST_USER Required
    Username for the communication between Opencast nodes and capture agents.
  • ORG_OPENCASTPROJECT_SECURITY_DIGEST_PASS Required
    Password for the communication between Opencast nodes and capture agents. You may alternatively set ORG_OPENCASTPROJECT_SECURITY_DIGEST_PASS_FILE to the location of a file within the container that contains the password.
  • ORG_OPENCASTPROJECT_DOWNLOAD_URL Optional
    The HTTP-URL to use for downloading media files, e.g. for the player. Defaults to ${org.opencastproject.server.url}/static.
  • ORG_OPENCASTPROJECT_ADMIN_EMAIL Optional
    Email address of the server's admin. Defaults to [email protected].

For an installation with multiple nodes you can also set:

  • PROP_ORG_OPENCASTPROJECT_FILE_REPO_URL Optional
    HTTP-URL of the file repository. Defaults to ${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 allinone
    HTTP-URL of the admin node.
  • PROP_ORG_OPENCASTPROJECT_ENGAGE_UI_URL Required for all but allinone
    HTTP-URL of the engage node.

ActiveMQ

  • ACTIVEMQ_BROKER_URL Required
    URL to ActiveMQ instances using the format specified in the Opencast documentation, e.g. failover://tcp://example.opencast.org:61616
  • ACTIVEMQ_BROKER_USERNAME Required
    ActiveMQ username.
  • ACTIVEMQ_BROKER_PASSWORD Required
    Password of the ActiveMQ user. You may alternatively set ACTIVEMQ_BROKER_PASSWORD_FILE to the location of a file within the container that contains the password.

Database

  • ORG_OPENCASTPROJECT_DB_VENDOR Optional
    The type of database to use. Currently, you can set this to either H2, MariaDB, or PostgreSQL. The default is H2.
  • NUMER_OF_TIMES_TRYING_TO_CONNECT_TO_DB Optional
    Specifies how often Opencast is going to try to connect to the specified database before giving up. The waiting time between tries is 5 seconds. The default number of tries is 25. This configuration only applies if the database is not H2.

H2

There are no additional environment variables you can set if you are using the H2 database.

MariaDB and PostgreSQL

  • ORG_OPENCASTPROJECT_DB_JDBC_URL Required
    JDBC connection string.
  • ORG_OPENCASTPROJECT_DB_JDBC_USER Required
    Database username.
  • ORG_OPENCASTPROJECT_DB_JDBC_PASS Required
    Password of the database user. You may alternatively set ORG_OPENCASTPROJECT_DB_JDBC_PASS_FILE to the location of a file within the container that contains the password.

Miscellaneous

  • TIMEZONE Optional
    Set the timezone within the container. Valid timezones are represented by files in /usr/share/zoneinfo/, for example, Europe/Berlin. The default is UTC.

Data

The data directory is located at /data. Use Docker Volumes to mount this directory on your host.

Languages

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.

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].