Getting Started with Docker
Docker Image를 통해 OvenMediaEngine Enterprise를 시작하려면 아래 설치 방법을 따라 진행하십시오.
설치 방법
설치 경로
OvenMediaEngine Enterprise는 Docker Container 안의 다음 경로에 설치되어 있습니다.
OvenMediaEngine
/opt/ovenmediaengine/bin
Web Console (OvenStudio)
/opt/ovenmediaengine/ovenstudio
Record Delivery
/opt/ovenmediaengine/delivery
Logs
/var/log/ovenmediaengine
Registry 로그인
OvenMediaEngine Enterprise Docekr Image를 설치 하기 전, Container Registry에 먼저 로그인을 해야 합니다. 로그인 시 유효한 License Key가 필요하며 최초 설치 시 한번만 수행하면 됩니다.
VALID_LICENSE_KEY="Your.License.Key"
docker login packages.buildkite.com/ovenmediaengine/docker -u buildkite -p $VALID_LICENSE_KEY
패키지 설치
다음 명령어를 통해 최신 버전을 설치 할 수 있습니다.
docker pull packages.buildkite.com/ovenmediaengine/docker/ovenmediaengine-enterprise
docker tag packages.buildkite.com/ovenmediaengine/docker/ovenmediaengine-enterprise ovenmediaengine-enterprise
Docker CLI로 실행하기
설치가 완료 된 후 다음 명령어를 통해 OvenMediaEngine Enterprise를 실행 할 수 있습니다.
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
OvenMediaEngine Enterprise 실행 시 다음 두 가지 환경 변수를 설정 해야 합니다.
OME_LICENSE_KEY
: 유효하지 않은 License Key를 입력 시 컨테이너는 실행 되지 않습니다.OME_HOST_IP
: 호스트 서버의 IP 설정을 통해 스트리밍 및 Web Console을 원활하게 사용 할 수 있습니다.
컨테이너 중지 및 삭제하기
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
설정 및 데이터 유지하기
실행 중인 Container 내의 설정을 변경하거나 기록 중인 Log는 Container가 중지되고 제거 될 때 모든 변경 사항이 삭제됩니다. Bind mounts를 사용해 Contaienr 내부의 설정 및 데이터를 영구적으로 유지 할 수 있습니다.
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
# 필요한 경우 생성 된 디렉토리에 대한 권한을 설정합니다
sudo chgrp -R docker $OME_DOCKER_HOME
sudo chmod -R 775 $OME_DOCKER_HOME
# OME_DOCKER_HOME을 영구적으로 사용하려면 ~/.profile 파일에 다음 행을 추가하세요
echo -e 'export OME_DOCKER_HOME=/opt/ovenmediaengine' >> ~/.profile
source ~/.profile
Container 기본 설정 파일 복사하기
Docker Container를 실행 한 후 다음 명령어를 통해 OvenMediaEngine Enterprise의 기본 설정을 복사합니다.
# 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/
Bind mounts를 사용하여 실행하기
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
Docker Compose로 실행하기
Container를 쉽게 정의하고 효율적으로 배포하기 위해 Docker Compose를 활용 할 수 있습니다. Docker Compose의 자세한 사용 방법은 여기를 참조하세요.
docker-compose.yaml
파일 생성하기
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
설치가 완료 된 후 다음 명령어를 통해 OvenMediaEngine Enterprise를 실행 할 수 있습니다.
docker compose up -d
[+] Running 2/2
✔ Network root_default Created 0.1s
✔ Container ovenmediaengine Started 0.8s
OvenMediaEngine Enterprise 실행 시 다음 두 가지 환경 변수를 설정 해야 합니다.
OME_LICENSE_KEY
: 유효하지 않은 License Key를 입력 시 Conatiner는 실행 되지 않습니다.OME_HOST_IP
: Host Sever의 IP 설정을 통해 Stream 및 Web Console을 원활하게 사용 할 수 있습니다.
컨테이너 중지 및 삭제하기
docker compose down
[+] Running 2/2
✔ Container ovenmediaengine Removed 1.4s
✔ Network root_default Removed 0.2s
설정 및 데이터 유지하기
실행 중인 Container 내의 설정을 변경하거나 기록 중인 Log는 Container가 중지되고 제거 될 때 모든 변경 사항이 삭제됩니다. Bind mounts를 사용해 Container 내부의 설정 및 데이터를 영구적으로 유지 할 수 있습니다.
Host Direcotry 생성하기
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
# 필요한 경우 생성 된 디렉토리에 대한 권한을 설정합니다
sudo chgrp -R docker $OME_DOCKER_HOME
sudo chmod -R 775 $OME_DOCKER_HOME
# OME_DOCKER_HOME을 영구적으로 사용하려면 ~/.profile 파일에 다음 행을 추가하세요
echo -e 'export OME_DOCKER_HOME=/opt/ovenmediaengine' >> ~/.profile
source ~/.profile
Container 기본 설정 파일 복사하기
Docker Container를 실행 한 후 다음 명령어를 통해 OvenMediaEngine Enterprise의 기본 설정을 복사합니다.
# 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/
Bind mounts를 사용하여 Docker Compose 실행하기
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
기본 설정 포트
OvenMediaEngine Enterprise는 기본적으로 아래 나열된 Port를 사용하므로 방화벽 설정이 필요합니다.
OvenMediaEngine
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)
8080/TCP
Running Web Console
Last updated