OvenMediaEngine Enterprise
English
English
  • About
    • Introduction
    • Release Notes
      • 0.18.2
      • 0.18.1
      • 0.18.0
      • 0.17.3
      • 0.17.2
      • 0.17.1
      • 0.17.0
      • 0.16.8
      • 0.16.7
      • 0.16.6
      • 0.16.5
      • 0.16.4
  • Installation
    • Getting Started
      • Getting Started with Ubuntu
      • Getting Started with RHEL
      • Getting Started with Docker
    • Configuration Structure Overview
  • Web Console
    • Getting Started with Web Console
    • Web Console Overview
      • Sign In
      • Change Password
      • Web Console Home
      • Stream List
        • Managed and Instant Streams
        • Scheduled Channels | 0.16.4.0+
        • Multiplex Channels | 0.16.5.0+
      • Event Monitoring | 0.18.1.0+
        • Configuration
        • Event Specification
      • Web Console Publishing | 0.18.1.2+
      • Logs
      • Configuration Files
      • Restart
    • Web Console Settings
      • Server Settings
      • Live Sources (Ingress Protocols) Settings
      • ABR and Transcoding Settings
      • Streaming (Egress Protocols) Settings
      • TLS Encryption Settings | 0.14.0.0+
      • Access Control Settings
      • Thumbnail Settings | 0.15.7.0+
      • Recording Settings | 0.16.5.0+
      • Push Publishing Settings | 0.15.14.0+
      • REST API Settings | 0.11.0.0+
      • Alert Settings | 0.15.11.0+
  • CDN Compatibility
    • Origin Server Redundancy
    • Origin Cache Control
  • Protection
    • RTMP Authentication | 0.17.2.0+
    • Proxy Protocol Integration | 0.16.6.2+
    • Digital Rights Management (DRM)
      • OvenMediaEngine Configuration for DRM | 0.16.0.0+
      • PallyCon DRM Configuration | 0.16.4.0+
  • Performance
    • Hardware-Accelerated Video Encoding | 0.16.4.0+
  • Event Insertion
    • Insert SEI into H.264 (AVC) Streams | v0.18.0.0+
    • Insert AMF0 messages in RTMP Push Publisher | 0.17.3.0+
  • Monetization
    • Insert Ad Markers (EXT-X-CUE-OUT/EXT-X-CUE-IN) | v0.17.3.0+
    • Insert onCuePoint messages into YouTube Live | 0.17.3.0+
  • Advanced Management
    • Generating Audio PTS | 0.17.2.3+
    • API Storage | 0.17.0.0+
    • Restart Application | 0.17.0.0+
    • Record Delivery | 0.16.5.0+
    • Add Delay to the Stream
    • Control Default Playlist Creation
Powered by GitBook
On this page
  • Installation
  • Path
  • Login to Registry
  • Install the OvenMediaEngine Enterprise
  • Run OvenMediaEngine Enterprise via Docker CLI
  • Stop and remove the container
  • Save configurations and data
  • Run using Bind mount
  • Run OvenMediaEngine Enterprise via Docker Compose
  • Create a docker-compose.yaml file
  • Stop and remove the container
  • Save configurations and data
  • Run Docker Compose using bind mounts
  • Ports used by default
  • OvenMediaEngine
  • Web Console (OvenStudio)
  1. Installation
  2. Getting Started

Getting Started with Docker

PreviousGetting Started with RHELNextConfiguration Structure Overview

Last updated 10 days ago

To get started with OvenMediaEngine Enterprise using a Docker image, follow the steps.

Installation

Path

OvenMediaEngine Enterprise is installed in the following path within the Docker container.

Type
Path / Description

OvenMediaEngine

/opt/ovenmediaengine/bin

Web Console (OvenStudio)

/opt/ovenmediaengine/ovenstudio

Record Delivery

/opt/ovenmediaengine/delivery

Logs

/var/log/ovenmediaengine

Login to Registry

Before installing the OvenMediaEngine Enterprise Docker image, you must first login to the container registry. A valid License Key is required for the login, and this step only needs to be performed once during the initial installation.

VALID_LICENSE_KEY="Your.License.Key"

docker login packages.buildkite.com/ovenmediaengine/docker -u buildkite -p $VALID_LICENSE_KEY

Install the OvenMediaEngine Enterprise

To install the latest version, run:

docker pull packages.buildkite.com/ovenmediaengine/docker/ovenmediaengine-enterprise
docker tag packages.buildkite.com/ovenmediaengine/docker/ovenmediaengine-enterprise ovenmediaengine-enterprise

To install a specific version of OvenMediaEngine Enterprise, enter the desired version in the Docker image tag.

VERSION=0.18.0.0-1
docker pull packages.buildkite.com/ovenmediaengine/docker/ovenmediaengine-enterprise:$VERSION
docker tag packages.buildkite.com/ovenmediaengine/docker/ovenmediaengine-enterprise:$VERSION ovenmediaengine-enterprise:$VERSION

Run OvenMediaEngine Enterprise via Docker CLI

docker run -d --name=ovenmediaengine \
-e OME_LICENSE_KEY=<Your.License.Key> \
-e OME_HOST_IP=<Your.HOST.IP.Address> \
-p 1935:1935 -p 8080:8080 -p 9999:9999/udp -p 9000:9000 -p 3333:3333 -p 3478:3478 -p 10000-10009:10000-10009/udp \
ovenmediaengine-enterprise

When running OvenMediaEngine Enterprise, you need to set the following two environment variables:

  • OME_LICENSE_KEY: If an invalid License Key is entered, the container will not run.

  • OME_HOST_IP: Setting the IP of the host server ensures smooth streaming and Web Console usage.

Stop and remove the container

docker ps
CONTAINER ID   IMAGE                        COMMAND                  CREATED         STATUS         PORTS                                                                                                                                                                                                                                                                                                                                                                  NAMES
2269946c053e   ovenmediaengine-enterprise   "/opt/ovenmediaengin…"   5 minutes ago   Up 5 minutes   0.0.0.0:1935->1935/tcp, [::]:1935->1935/tcp, 80/tcp, 0.0.0.0:3333->3333/tcp, [::]:3333->3333/tcp, 3334/tcp, 0.0.0.0:3478->3478/tcp, [::]:3478->3478/tcp, 5000/tcp, 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp, 4000-4005/udp, 8090/tcp, 0.0.0.0:9000->9000/tcp, [::]:9000->9000/tcp, 10010/udp, 0.0.0.0:9999-10009->9999-10009/udp, [::]:9999-10009->9999-10009/udp   ovenmediaengine

docker stop ovenmediaengine
docker rm ovenmediaengine

Save configurations and data

Create a host directory

export OME_DOCKER_HOME=/opt/ovenmediaengine
sudo mkdir -p $OME_DOCKER_HOME/conf
sudo mkdir -p $OME_DOCKER_HOME/logs
sudo mkdir -p $OME_DOCKER_HOME/ovenstudio/data
sudo mkdir -p $OME_DOCKER_HOME/delivery/conf

# Set permissions for the created directory if necessary.
sudo chgrp -R docker $OME_DOCKER_HOME
sudo chmod -R 775 $OME_DOCKER_HOME

# If you want to use OME_DOCKER_HOME permanently, add the following line to the ~/.profile file for bash, for other shells, you can do it accordingly.
echo -e 'export OME_DOCKER_HOME=/opt/ovenmediaengine' >> ~/.profile
source ~/.profile

Copy the default configurations from the Docker container

# OvenMediaEngine files
docker cp ovenmediaengine:/opt/ovenmediaengine/bin/origin_conf $OME_DOCKER_HOME/

# Web Console(OvenStudio) files
docker cp ovenmediaengine:/opt/ovenmediaengine/ovenstudio/system.env $OME_DOCKER_HOME/ovenstudio/
docker cp ovenmediaengine:/opt/ovenmediaengine/ovenstudio/data $OME_DOCKER_HOME/ovenstudio/

# Delivery files
docker cp ovenmediaengine:/opt/ovenmediaengine/delivery/delivery.db $OME_DOCKER_HOME/delivery/
docker cp ovenmediaengine:/opt/ovenmediaengine/delivery/conf $OME_DOCKER_HOME/delivery/

Run using Bind mount

docker run -d --name=ovenmediaengine \
-e OME_LICENSE_KEY=<Your.License.Key> \
-e OME_HOST_IP=<Your.HOST.IP.Address> \
-v $OME_DOCKER_HOME/origin_conf:/opt/ovenmediaengine/bin/origin_conf \
-v $OME_DOCKER_HOME/logs:/var/log/ovenmediaengine \
-v $OME_DOCKER_HOME/ovenstudio/system.env:/opt/ovenmediaengine/ovenstudio/system.env \
-v $OME_DOCKER_HOME/ovenstudio/data:/opt/ovenmediaengine/ovenstudio/data \
-v $OME_DOCKER_HOME/delivery/delivery.db:/opt/ovenmediaengine/delivery/delivery.db \
-v $OME_DOCKER_HOME/delivery/conf:/opt/ovenmediaengine/delivery/conf \
-p 1935:1935 -p 8080:8080 -p 9999:9999/udp -p 9000:9000 -p 3333:3333 -p 3478:3478 -p 10000-10009:10000-10009/udp \
ovenmediaengine-enterprise

Run OvenMediaEngine Enterprise via Docker Compose

Create a docker-compose.yaml file

docker-compose.yaml
services:
  ovenmediaengine:
    image: ovenmediaengine-enterprise
    container_name: ovenmediaengine
    restart: unless-stopped
    environment:
      - OME_LICENSE_KEY=<Your.License.Key>
      - OME_HOST_IP=<Your.HOST.IP.Address>
    ports:
      - 1935:1935
      - 8080:8080
      - 9999:9999/udp
      - 9000:9000
      - 3333:3333
      - 3478:3478
      - 10000-10009:10000-10009/udp
docker compose up -d

[+] Running 2/2
 ✔ Network root_default       Created              0.1s
 ✔ Container ovenmediaengine  Started              0.8s

When running OvenMediaEngine Enterprise, you need to set the following two environment variables:

  • OME_LICENSE_KEY: If an invalid License Key is entered, the container will not run.

  • OME_HOST_IP: Setting the IP of the host server ensures smooth streaming and Web Console usage.

Stop and remove the container

docker compose down

[+] Running 2/2
 ✔ Container ovenmediaengine  Removed              1.4s
 ✔ Network root_default       Removed              0.2s

Save configurations and data

Create a host directory

export OME_DOCKER_HOME=/opt/ovenmediaengine
sudo mkdir -p $OME_DOCKER_HOME/conf
sudo mkdir -p $OME_DOCKER_HOME/logs
sudo mkdir -p $OME_DOCKER_HOME/ovenstudio/data
sudo mkdir -p $OME_DOCKER_HOME/delivery/conf

# Set permissions for the created directory if necessary.
sudo chgrp -R docker $OME_DOCKER_HOME
sudo chmod -R 775 $OME_DOCKER_HOME

# If you want to use OME_DOCKER_HOME permanently, add the following line to the ~/.profile file for bash, for other shells, you can do it accordingly.
echo -e 'export OME_DOCKER_HOME=/opt/ovenmediaengine' >> ~/.profile
source ~/.profile

Copy the default configurations from the Docker container

# OvenMediaEngine files
docker cp ovenmediaengine:/opt/ovenmediaengine/bin/origin_conf $OME_DOCKER_HOME/

# Web Console(OvenStudio) files
docker cp ovenmediaengine:/opt/ovenmediaengine/ovenstudio/system.env $OME_DOCKER_HOME/ovenstudio/
docker cp ovenmediaengine:/opt/ovenmediaengine/ovenstudio/data $OME_DOCKER_HOME/ovenstudio/

# Delivery files
docker cp ovenmediaengine:/opt/ovenmediaengine/delivery/delivery.db $OME_DOCKER_HOME/delivery/
docker cp ovenmediaengine:/opt/ovenmediaengine/delivery/conf $OME_DOCKER_HOME/delivery/

Run Docker Compose using bind mounts

docker-compose.yaml
services:
  ovenmediaengine:
    image: ovenmediaengine-enterprise
    container_name: ovenmediaengine
    restart: unless-stopped
    environment:
      - OME_LICENSE_KEY=<Your.License.Key>
      - OME_HOST_IP=<Your.HOST.IP.Address>
    ports:
      - 1935:1935
      - 8080:8080
      - 9999:9999/udp
      - 9000:9000
      - 3333:3333
      - 3478:3478
      - 10000-10009:10000-10009/udp
    volumes:
      - $OME_DOCKER_HOME/origin_conf:/opt/ovenmediaengine/bin/origin_conf
      - $OME_DOCKER_HOME/logs:/var/log/ovenmediaengine
      - $OME_DOCKER_HOME/ovenstudio/system.env:/opt/ovenmediaengine/ovenstudio/system.env
      - $OME_DOCKER_HOME/ovenstudio/data:/opt/ovenmediaengine/ovenstudio/data
      - $OME_DOCKER_HOME/delivery/delivery.db:/opt/ovenmediaengine/delivery/delivery.db
      - $OME_DOCKER_HOME/delivery/conf:/opt/ovenmediaengine/delivery/conf
docker compose up -d

[+] Running 2/2
 ✔ Network root_default       Created              0.1s
 ✔ Container ovenmediaengine  Started              0.8s

Ports used by default

The default configuration uses the following ports, so you need to open it in your firewall settings:

OvenMediaEngine

Port
Purpose

1935/TCP

RTMP Input

9999/UDP

SRT Input

4000/UDP

MPEG-2 TS Input

9000/TCP

Origin Server (OVT)

3333/TCP

3334/TLS

Low Latency HLS (LLHLS) Streaming

* Streaming over non-TLS is not allowed with modern browsers.

3333/TCP

3334/TLS

WebRTC Signaling (both ingest and streaming)

3478/TCP

WebRTC TCP relay (TURN Server, both ingest and streaming)

10000 - 10009/UDP

WebRTC Ice candidate (both ingest and streaming)

20080/TCP

20081/TLS

Thumbnail Extraction

Web Console (OvenStudio)

Port
Purpose

8080/TCP

Running Web Console

After the is complete, you can run OvenMediaEngine Enterprise using the following command:

Any changes to the configurations within a running container or log data being recorded will be deleted when the container is stopped and removed. You can use to persistently save the configurations and data inside the container.

After the Docker container, copy the default configurations of OvenMediaEngine Enterprise using the following command:

You can utilize Docker Compose to easily define and efficiently deploy containers. For detailed instructions on how to use Docker Compose, refer to this .

After the is complete, you can run OvenMediaEngine Enterprise using the following command:

Any changes to the configurations within a running container or log data being recorded will be deleted when the container is stopped and removed. You can use to persistently save the configurations and data inside the container.

After the Docker container, copy the default configurations of OvenMediaEngine Enterprise using the following command:

Bind mounts
link
Bind mounts
installation
installation
running
installation
running