52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
services:
|
|
frame-stream-player:
|
|
build: .
|
|
image: frame-stream-player:latest
|
|
container_name: frame-stream-player
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
PORT: "3000"
|
|
NODE_ENV: production
|
|
YT_DLP_TIMEOUT_MS: "45000"
|
|
# split: smoothest, two upstream connections.
|
|
# relay: one upstream connection, separate audio/frame ffmpeg workers.
|
|
# single: one upstream connection and one ffmpeg worker; fallback only.
|
|
PLAYBACK_CONNECTION_MODE: relay
|
|
FFMPEG_LOG_LEVEL: warning
|
|
FFMPEG_INPUT_SEEKABLE: "0"
|
|
FFMPEG_HTTP_RECONNECT: "1"
|
|
FFMPEG_HTTP_RECONNECT_DELAY_MAX: "2"
|
|
FFMPEG_HTTP_RECONNECT_MAX_RETRIES: "4"
|
|
FFMPEG_HTTP_RECONNECT_ON_HTTP_ERROR: "5xx"
|
|
METADATA_PROBE_ENABLED: "0"
|
|
METADATA_PROBE_TIMEOUT_MS: "4000"
|
|
DEFAULT_FPS: "24"
|
|
DEFAULT_FRAME_WIDTH: "960"
|
|
JPEG_QUALITY: "7"
|
|
DEFAULT_AUDIO_BITRATE: "160k"
|
|
DEFAULT_AUDIO_CHANNELS: "2"
|
|
DEFAULT_AUDIO_SAMPLE_RATE: "48000"
|
|
MAX_WS_BUFFER_BYTES: "2097152"
|
|
MAX_AUDIO_QUEUE_BYTES: "4194304"
|
|
MAX_RELAY_BRANCH_QUEUE_BYTES: "8388608"
|
|
RECENT_URLS_PATH: /app/data/recent-urls.json
|
|
FAVORITES_PATH: /app/data/favorites.json
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- frame-stream-data:/app/data
|
|
|
|
# CPU decoding is the default and does not need device passthrough.
|
|
#
|
|
# Optional Intel/AMD VAAPI device passthrough:
|
|
# devices:
|
|
# - "/dev/dri:/dev/dri"
|
|
#
|
|
# Optional NVIDIA passthrough with Docker Compose v2:
|
|
# gpus: all
|
|
|
|
volumes:
|
|
frame-stream-data:
|