Add Snacks app: automated video library encoder with hardware acceleration (#6)
Co-authored-by: Joachim Friberg <joachim.friberg@ip-solutions.se> Reviewed-on: phirna/zima-apps#6
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
name: snacks
|
||||
|
||||
services:
|
||||
snacks:
|
||||
image: derekshreds/snacks-docker:2.3.1
|
||||
container_name: snacks
|
||||
restart: unless-stopped
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
memory: 1G
|
||||
|
||||
environment:
|
||||
- TZ=Europe/Stockholm
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- ASPNETCORE_ENVIRONMENT=Production
|
||||
- SNACKS_WORK_DIR=/app/work
|
||||
- FFMPEG_PATH=/usr/lib/jellyfin-ffmpeg/ffmpeg
|
||||
- FFPROBE_PATH=/usr/lib/jellyfin-ffmpeg/ffprobe
|
||||
|
||||
network_mode: host
|
||||
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /DATA/AppData/$AppID/media
|
||||
target: /app/work/uploads
|
||||
- type: bind
|
||||
source: /DATA/AppData/$AppID/logs
|
||||
target: /app/work/logs
|
||||
- type: bind
|
||||
source: /DATA/AppData/$AppID/config
|
||||
target: /app/work/config
|
||||
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
|
||||
privileged: true
|
||||
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
cap_drop:
|
||||
- ALL
|
||||
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:6767/Home/Health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
|
||||
x-casaos:
|
||||
envs:
|
||||
- container: TZ
|
||||
description:
|
||||
en_US: Timezone, for example Europe/Stockholm
|
||||
- container: PUID
|
||||
description:
|
||||
en_US: User ID for filesystem permissions
|
||||
- container: PGID
|
||||
description:
|
||||
en_US: Group ID for filesystem permissions
|
||||
- container: FFMPEG_PATH
|
||||
description:
|
||||
en_US: "FFmpeg binary path (default: /usr/lib/jellyfin-ffmpeg/ffmpeg). Use /usr/bin/ffmpeg on systems without jellyfin-ffmpeg."
|
||||
- container: FFPROBE_PATH
|
||||
description:
|
||||
en_US: "FFprobe binary path (default: /usr/lib/jellyfin-ffmpeg/ffprobe). Use /usr/bin/ffprobe on systems without jellyfin-ffmpeg."
|
||||
ports:
|
||||
- container: "6767"
|
||||
description:
|
||||
en_US: Web UI port
|
||||
volumes:
|
||||
- container: /app/work/uploads
|
||||
description:
|
||||
en_US: Media library — source files to be encoded
|
||||
- container: /app/work/logs
|
||||
description:
|
||||
en_US: Transcoding logs directory
|
||||
- container: /app/work/config
|
||||
description:
|
||||
en_US: Application configuration and SQLite database
|
||||
|
||||
x-casaos:
|
||||
architectures:
|
||||
- amd64
|
||||
main: snacks
|
||||
category: phirna
|
||||
author: Joachim Friberg
|
||||
developer: Joachim Friberg
|
||||
icon: https://cdn.simpleicons.org/snacks
|
||||
tagline:
|
||||
en_US: Automated video library encoder with hardware acceleration
|
||||
description:
|
||||
en_US: >-
|
||||
Batch transcode your video library with hardware acceleration (NVENC, QSV, VAAPI, AMF).
|
||||
Monitors directories, skips already-encoded files, and supports distributed cluster encoding.
|
||||
Web UI at http://localhost:6767
|
||||
title:
|
||||
en_US: Snacks
|
||||
index: /
|
||||
port_map: "6767"
|
||||
Reference in New Issue
Block a user