Self-hosted media library transcoder with hardware encoding, VMAF quality assurance and a safety net
50K+
Self-hosted media library transcoder with hardware encoding, VMAF quality assurance, and a safety net for your originals.
Re-encode H.264 / MPEG-2 / VC-1 / VP9 sources to HEVC, saving 40–65% disk space on a typical library. NVENC (NVIDIA) and libx265 (CPU) encoders; NVDEC / QSV / VAAPI hardware decode. VMAF auto-rejects bad encodes. Plex / Jellyfin / Emby aware (pauses on stream, refreshes libraries on completion). Sonarr / Radarr / NZBGet / SABnzbd integration with a rules engine. Distributed encoding across multiple workers.
| Tag | Platforms | Encoding | Use when |
|---|---|---|---|
:latest | linux/amd64 + arm64 | libx265 (CPU) | Default. Mac, Raspberry Pi, ARM cloud, any host without an NVIDIA GPU. |
:edge | linux/amd64 + arm64 | libx265 (CPU) | Same as :latest, bleeding-edge ffmpeg master. |
:nvenc | linux/amd64 | NVENC + libx265 | NVIDIA GPU host, ffmpeg n7.1, driver 525.60.13+. |
:edge-nvenc | linux/amd64 | NVENC + libx265 | NVIDIA GPU host, ffmpeg master, driver 570+. |
All variants share the same DB schema and settings format — switch between them by changing one image: line and pulling.
# docker-compose.yml
services:
shrinkerr:
image: pal9000/shrinkerr:latest
container_name: shrinkerr
ports:
- "6680:6680"
volumes:
- ./data:/app/data
- /path/to/your/media:/media
restart: unless-stopped
docker compose up -d
Then open http://localhost:6680, add your media directories in Settings, and run a scan.
For NVENC, follow the GPU setup guide — needs the NVIDIA Container Toolkit on the host.
Also available without Docker Hub's anonymous-pull rate limits (100 / 6h / IP):
docker pull ghcr.io/i-ial9000/shrinkerr:latest
Same images, both registries published simultaneously from CI.
Content type
Image
Digest
sha256:1683e66d7…
Size
554.6 MB
Last updated
3 days ago
docker pull pal9000/shrinkerr