Sign inSign up

junkerderprovinz/handbrake

By junkerderprovinz

•Updated about 7 hours ago

HandBrake for Unraid: the full video transcoder in your browser, with an automated watch folder.

Image
0

10K+

junkerderprovinz/handbrake repository overview

HandBrake for Unraid

Build  Lint  Docker Pulls  Image Size  Arch  Selkies  Unraid  License: AGPL-3.0


A modern, plug-and-play Docker image for HandBrake on Unraid. The full transcoder GUI in your browser via Selkies, dark by default using HandBrake's own native GTK dark mode, plus a watch-folder converter that transcodes anything you drop into /watch without opening the UI at all. Everything is configurable from the Unraid template, no SSH or config-file editing required.

Install from Unraid's Community Applications   Run it with Docker   Download the source archive


A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto


⁠Table of Contents

  1. What it looks like⁠
  2. What it does⁠
  3. How it compares⁠
  4. Getting started⁠
  5. How AI is used here⁠
  6. Support this project⁠

⁠1. What it looks like

The videos in these pictures are the trailers of Blender's open movies Sintel and Big Buck Bunny (CC BY 3.0, Blender Foundation), loaded in a test container.

HandBrake in a browser window with the Sintel trailer loaded and a frame of it in the preview
HandBrake's own GTK dark mode, with a source loaded and the Fast 1080p30 preset picked

The HandBrake queue with one trailer encoding and a second one waiting
The queue works through one encode after another while you do something else


⁠2. What it does

  • Selkies instead of noVNC. A hybrid VNC and H.264 stream for a smooth desktop, a real clipboard in both directions, and file upload and download from the browser.
  • Dark by default, with HandBrake's own GTK dark mode rather than a repaint. One variable switches to light.
  • Watch-folder conversion. Drop a file into /watch and the transcode lands in /output without opening the GUI. Output is written to a hidden file first and renamed when it is done, so a media scanner never picks up a half-written video. The watch folder⁠
  • Hardware encoding with NVIDIA NVENC, and with Intel Quick Sync in a variant image. Hardware encoding⁠
  • Hooks, a web file manager and a terminal, with the same variable names as jlesage/handbrake, so existing templates and hook scripts keep working. Hooks⁠, Web desktop⁠
  • Multi-arch: amd64 and arm64, both checked in CI by a smoke test that really transcodes a clip before anything is published.

⁠3. How it compares

Another HandBrake container is also in Community Applications: linuxserver/handbrake⁠, the official LinuxServer.io image. It builds on the very same Docker Baseimage Selkies⁠ project this image does, just the Arch Linux flavour of it instead of the Ubuntu one, and opts into that base's newer Wayland/PixelFlux screen-streaming pipeline (PIXELFLUX_WAYLAND=true) rather than the classic X11 one this image still uses by default. A strong, actively developed GUI, but no automated conversion of any kind, so it does not compete on the feature this image is built around.

This imagejlesage/handbrakelinuxserver/handbrake
Web stackSelkies (X11)noVNCSelkies (Wayland)
BaseUbuntu (glibc)Alpine (musl)Arch Linux
NVIDIA NVENC encoding✅❌ (#49)⁠n/a
Intel Quick Sync (QSV) encoding✅⚠️ (#459)⁠n/a
AMD VCE encoding⚠️ unverified❌ (#441)⁠n/a
Dark mode default✅opt-in (DARK_MODE=1)❓
Watch-folder conversion✅✅❌
Browser clipboard✅⚠️✅
File upload via WebUI✅❌✅
Web file manager✅opt-in (WEB_FILE_MANAGER=1)❌
Conversion hooks✅✅❌
Staging on a separate disk✅❌n/a
Shared-watch-folder locking✅✅n/a
CJK fonts✅opt-in (ENABLE_CJK_FONT=1)❓
Multi-arch✅✅❌ amd64 only
Direct VNC client❌✅❌

✅ works · ❌ doesn't · ⚠️ present but limited · ❓ undocumented · n/a no automated conversion to accelerate/configure


⁠4. Getting started

On Unraid, install HandBrake from Community Applications⁠ and set the paths for your media, the watch folder and the output folder. Everything else has a working default.

Without Unraid:

docker run -d --name handbrake \
  -p 3001:3001 \
  -e PUID=99 -e PGID=100 \
  -v /path/to/appdata/handbrake:/config \
  -v /path/to/media:/storage:ro \
  -v /path/to/watch:/watch \
  -v /path/to/converted:/output \
  junkerderprovinz/handbrake:latest

Then open https://<server-ip>:3001/ and accept the self-signed certificate once. On the very first start, wait for HANDBRAKE IS READY in the container log.

Every variable, the watch-folder settings, hardware encoding, hooks, optical drives, moving over from jlesage/handbrake and the known problems are in docs/configuration.md⁠.


⁠5. How AI is used here

One knight builds this, and AI is one of the tools I work with, the same way I work with an editor or a compiler. It helps me write code and documentation and it checks my work, and that saves me a good many evenings. It does not make the decisions, though. I read and understand everything before it ships, and if something here breaks, that is on me and not on the tool.

You do not have to take my word for it. The code is open and every release note is written by hand. The issue tracker shows how problems actually get handled, including the ones I got wrong the first time. If you find something that is not right, open an issue and I will look at it.


⁠6. Support this project

Questions, bugs, ideas or feature requests? Please open a GitHub issue⁠.

A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto


This wrapper is AGPL-3.0-only. HandBrake itself is GPL-2.0 and its artwork is CC BY-SA 4.0. Every bundled component and its licence is listed in NOTICE⁠.

Tag summary

Content type

Image

Digest

sha256:fac827dd8…

Size

1015.4 MB

Last updated

2 days ago

docker pull junkerderprovinz/handbrake