Initial portable pretranscode service
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
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}
|
||||
Reference in New Issue
Block a user