Files
nginx-hls/compose.yaml
T
2026-09-27 15:55:38 +08:00

70 lines
1.7 KiB
YAML

services:
vod:
build:
context: .
target: vod
args:
NGINX_VERSION: "${NGINX_VERSION:-1.30.5}"
KALTURA_VOD_REF: "${KALTURA_VOD_REF:-26f06877b0f2a2336e59cda93a3de18d7b23a3e2}"
image: "${IMAGE_NAME:-nginx-hls-vod}:local"
environment:
PLAYER_ORIGIN: "${PLAYER_ORIGIN:?Set PLAYER_ORIGIN in .env}"
depends_on:
catalog:
condition: service_healthy
ports:
- "${HLS_BIND_ADDRESS:-0.0.0.0}:${HLS_PORT:-8124}:8080"
volumes:
- type: bind
source: "${MEDIA_DIR:?Set MEDIA_DIR in .env}"
target: /media
read_only: true
bind:
create_host_path: false
restart: unless-stopped
read_only: true
tmpfs:
- /tmp:rw,nosuid,nodev,noexec,size=64m
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
pids_limit: 128
mem_limit: 512m
cpus: 2.0
catalog:
build:
context: .
target: catalog
image: "${CATALOG_IMAGE:-nginx-hls-catalog}:local"
user: "0:0"
environment:
MEDIA_DIR: /media
CATALOG_CACHE_DIR: /cache
CATALOG_REFRESH_INTERVAL_SECONDS: "${CATALOG_REFRESH_INTERVAL_SECONDS:-21600}"
CATALOG_PORT: "8081"
volumes:
- type: bind
source: "${MEDIA_DIR:?Set MEDIA_DIR in .env}"
target: /media
read_only: true
bind:
create_host_path: false
- type: bind
source: "${CATALOG_CACHE_DIR:?Set CATALOG_CACHE_DIR in .env}"
target: /cache
bind:
create_host_path: false
restart: unless-stopped
read_only: true
tmpfs:
- /tmp:rw,nosuid,nodev,noexec,size=64m
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
pids_limit: 128
mem_limit: 512m
cpus: 2.0