52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
services:
|
|
pretranscode:
|
|
build:
|
|
context: ${PRETRANSCODE_BUILD_CONTEXT:-.}
|
|
image: ${PRETRANSCODE_IMAGE:-pretranscode:latest}
|
|
restart: unless-stopped
|
|
init: true
|
|
user: "${PRETRANSCODE_UID:-1000}:${PRETRANSCODE_GID:-1000}"
|
|
environment:
|
|
SOURCE_ROOT: /source
|
|
VIEW_ROOT: /view
|
|
CACHE_ROOT: /cache
|
|
STATE_ROOT: /state
|
|
JELLYFIN_URL: ${JELLYFIN_URL:?}
|
|
JELLYFIN_API_KEY: ${JELLYFIN_API_KEY:?}
|
|
JELLYFIN_LIBRARY_ROOT: ${JELLYFIN_LIBRARY_ROOT:-/data/library}
|
|
JELLYFIN_ORIGINAL_ROOT: ${JELLYFIN_ORIGINAL_ROOT:-/data/original}
|
|
JELLYFIN_CACHE_ROOT: ${JELLYFIN_CACHE_ROOT:-/data/cache}
|
|
CACHE_MAX_BYTES: ${CACHE_MAX_BYTES:-1000000000000}
|
|
SERIES_COOLDOWN_SECONDS: ${SERIES_COOLDOWN_SECONDS:-3600}
|
|
POLL_SECONDS: ${POLL_SECONDS:-5}
|
|
RESCAN_SECONDS: ${RESCAN_SECONDS:-300}
|
|
H264_CRF: ${H264_CRF:-20}
|
|
H264_PRESET: ${H264_PRESET:-medium}
|
|
H264_MAXRATE: ${H264_MAXRATE:-12M}
|
|
H264_BUFSIZE: ${H264_BUFSIZE:-24M}
|
|
volumes:
|
|
- ${MEDIA_LIBRARY_PATH:?}:/source:ro
|
|
- ${PRETRANSCODE_VIEW_PATH:?}:/view
|
|
- ${PRETRANSCODE_CACHE_PATH:?}:/cache
|
|
- ${PRETRANSCODE_STATE_PATH:?}:/state
|
|
networks:
|
|
- media
|
|
cpu_shares: 2
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
stop_grace_period: 30s
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pgrep -f '/app/pretranscode run' >/dev/null"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
networks:
|
|
media:
|
|
external: true
|
|
name: ${MEDIA_NETWORK:-media-internal}
|