A lightweight video server that is not keen on automation. Streams, remuxes and transcodes, while keeping your folder structure browsable - never miss your videos again. Uses Jellyfin-ffmpeg under the hood.
Disclaimer: The Go & TS code in this repository were generated by artificial intelligence and may contain errors, omissions, or unintended behavior.
- Clone this repository
- Adjust
compose.ymlper your needs- Check volumes, ports and secrets
- Add a hardware overlay if needed (see examples below)
- If you do not plan to use direct metadata editing feature on files, mount your volumes as read-only
- Prepare cache/logs directories and run
# Host directories cache and logs must be writable by the container uid/gid (default 65532)
# media directory must be at least readable
mkdir -p cache logs media && sudo chown 65532:65532 cache logs
# Hardware acceleration: add ONE vendor overlay, e.g.
docker compose -f compose.yml -f compose.qsv.yml up -d
docker compose -f compose.yml -f compose.vaapi.yml up -d
docker compose -f compose.yml -f compose.nvidia.yml up -d
docker compose -f compose.yml -f compose.rockchip.yml up -d# Intel Quick Sync (QSV) — OneVPL in image
RENDER_GID=$(getent group render | cut -d: -f3) \
docker compose -f compose.yml -f compose.qsv.yml up -d
# Intel / AMD VA-API
RENDER_GID=$(getent group render | cut -d: -f3) \
docker compose -f compose.yml -f compose.vaapi.yml up -d
# NVIDIA NVENC (requires NVIDIA Container Toolkit on host)
docker compose -f compose.yml -f compose.nvidia.yml up -d
# Rockchip RKMPP (RK3588-class BSP kernel)
docker compose -f compose.yml -f compose.rockchip.yml up -d
# Don't forget to set hardware aceleration method in the Admin UI. It automatically fallback to software transcoding.See CONTRIBUTING.md.
See SECURITY.md on reporting security issues.
This software is licensed under MIT — see license.
The official Docker image redistributes prebuilt ffmpeg and ffprobe binaries from the Jellyfin FFmpeg licensed under GPLv3.