HandBrake

HandBrake

Docker app from Djoss' Repository

Overview

HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. The graphical user interface (GUI) of the application can be accessed through a modern web browser, requiring no installation or configuration on the client side, or via any VNC client. The container is built against Alpine Linux to provide an efficient image in terms of size and resource usage. A fully automated mode is also available: drop files into a watch folder and let HandBrake process them without any user interaction. For a complete documentation of this container, see https://github.com/jlesage/docker-handbrake#readme

Runtime arguments

Web UI
http://[IP]:[PORT:5800]
Network
bridge
Privileged
false

Template configuration

Config DirectoryPathrw

Stores the application's configuration, state, logs, and any files requiring persistency.

Target
/config
Default
/mnt/user/appdata/handbrake
StoragePathro

Contains files from the host that need to be accessible to the application.

Target
/storage
Default
/mnt/user
Watch DirectoryPathrw

The location for videos to be automatically converted.

Target
/watch
Output DirectoryPathrw

The destination for converted video files.

Target
/output
Trash DirectoryPathrw

When trash usage is enabled, converted source files are moved here instead of being deleted.

Target
/trash
User IDVariable

ID of the user the application runs as.

Target
USER_ID
Default
99
Group IDVariable

ID of the group the application runs as.

Target
GROUP_ID
Default
100
UmaskVariable

Mask controlling permissions for newly created files and folders, specified in octal notation.

Target
UMASK
Default
0000
Niceness (priority)Variable

Priority at which the application should run. A niceness value of `-20` is the highest, `19` is the lowest and `0` the default. NOTE: Setting a negative value requires additional permissions. Thus, `--cap-add=SYS_NICE` must be added to Extra Parameters (shown when Advanced View is enabled).

Target
APP_NICENESS
Default
0
Display WidthVariable

Width (in pixels) of the application's window.

Target
DISPLAY_WIDTH
Default
1920
Display HeightVariable

Height (in pixels) of the application's window.

Target
DISPLAY_HEIGHT
Default
1080
Dark ModeVariable

When set to `1`, enables dark mode for the application.

Target
DARK_MODE
Default
0
Web AudioVariable

When set to `1`, enables audio support, allowing audio produced by the application to play through the browser.

Target
WEB_AUDIO
Default
0
Web File ManagerVariable

When set to `1`, enables the web file manager, allowing interaction with files inside the container through a web browser, supporting operations like renaming, deleting, uploading, and downloading.

Target
WEB_FILE_MANAGER
Default
0
Web File Manager Allowed PathsVariable

Comma-separated list of paths within the container that the file manager can access. By default, the container's entire filesystem is not accessible, and this variable specifies allowed paths. If set to `AUTO`, commonly used folders and those mapped to the container are automatically allowed. The value `ALL` allows access to all paths (no restrictions).

Target
WEB_FILE_MANAGER_ALLOWED_PATHS
Default
AUTO
Web File Manager Denied PathsVariable

Comma-separated list of paths within the container that the file manager cannot access. A denied path takes precedence over an allowed path.

Target
WEB_FILE_MANAGER_DENIED_PATHS
Default
None
Web Desktop NotificationsVariable

When set to `1`, enables the web notification service, allowing the browser to display desktop notifications from the application.

Target
WEB_NOTIFICATION
Default
0
Web TerminalVariable

When set to `1`, enables access to a terminal from the web interface. It is strongly recommended to configure the container with secure web access (HTTPS).

Target
WEB_TERMINAL
Default
0
Web AuthenticationVariable

When set to `1`, protects the application's GUI with a login page when accessed via a web browser. Access is granted only with valid credentials.

Target
WEB_AUTHENTICATION
Default
0
Web Authentication Token Validity TimeVariable

Lifetime of a token, in hours. A token is assigned to the user after successful login. As long as the token is valid, the user can access the application's GUI without logging in again. Once the token expires, the login page is displayed again.

Target
WEB_AUTHENTICATION_TOKEN_VALIDITY_TIME
Default
24
Web Authentication UsernameVariable

Optional username for web authentication. Provides a quick and easy way to configure credentials for a single user. For more secure configuration or multiple users, see the documentation.

Target
WEB_AUTHENTICATION_USERNAME
Web Authentication PasswordVariable

Optional password for web authentication. Provides a quick and easy way to configure credentials for a single user. For more secure configuration or multiple users, see the documentation.

Target
WEB_AUTHENTICATION_PASSWORD
Secure ConnectionVariable

When set to `1`, uses an encrypted connection to access the application's GUI (via web browser or VNC client).

Target
SECURE_CONNECTION
Default
0
Secure Connection VNC MethodVariable

Method used for encrypted VNC connection. Possible values are `SSL` or `TLS`.

Target
SECURE_CONNECTION_VNC_METHOD
Default
SSL
Secure Connection Certificate Check IntervalVariable

Interval, in seconds, at which the system checks if web or VNC certificates have changed. When a change is detected, affected services are automatically restarted. A value of `0` disables the check.

Target
SECURE_CONNECTION_CERTS_CHECK_INTERVAL
Default
60
Web Listening Port (Non-Bridge Network Type)Variable

Port used by the web server to serve the application's GUI. This port is internal to the container and typically does not need to be changed. NOTE: This setting is relevant only when the Network Type is set to something else than Bridge.

Target
WEB_LISTENING_PORT
Default
5800
VNC Listening Port (Non-Bridge Network Type)Variable

Port used by the VNC server to serve the application's GUI. This port is internal to the container and typically does not need to be changed. NOTE: This setting is relevant only when the Network Type is set to something else than Bridge.

Target
VNC_LISTENING_PORT
Default
5900
HandBrake GUI StateVariable

Setting this to `1` enables the HandBrake GUI; `0` disables it.

Target
HANDBRAKE_GUI
Default
1
HandBrake GUI StateVariable

Action to be taken on the HandBrake GUI queue at startup. When set to `PROCESS`, HandBrake automatically starts encoding items in the queue. When set to `CLEAR`, the queue is cleared. Any other value results in no action on the queue.

Target
HANDBRAKE_GUI_QUEUE_STARTUP_ACTION
Default
NONE
Automatic Video Converter: StateVariable

Setting this to `1` enables the automatic video converter, `0` disables it.

Target
AUTOMATED_CONVERSION
Default
1
Automatic Video Converter: PresetVariable

Preset used by the automatic video converter. The preset must be identified in the format `CATEGORY/PRESET NAME`. Available presets can be seen via the HandBrake GUI.

Target
AUTOMATED_CONVERSION_PRESET
Default
General/Very Fast 1080p30
Automatic Video Converter: FormatVariable

Video container format used by the automatic video converter for output files, typically the video filename extension.

Target
AUTOMATED_CONVERSION_FORMAT
Default
mp4
Automatic Video Converter: Keep Source FilesVariable

When set to `0`, a successfully converted video is removed from the watch folder.

Target
AUTOMATED_CONVERSION_KEEP_SOURCE
Default
1
Automatic Video Converter: Video File ExtensionsVariable

Space-separated list of file extensions considered as video files. By default, this list is empty, allowing HandBrake to automatically detect if a file is a video, regardless of its extension (except for extensions defined by `AUTOMATED_CONVERSION_NON_VIDEO_FILE_EXTENSIONS`, which are always considered non-video). This variable is typically unnecessary but useful when only specific video files need conversion.

Target
AUTOMATED_CONVERSION_VIDEO_FILE_EXTENSIONS
Automatic Video Converter: Non-Video File ActionVariable

When set to `ignore`, non-video files in the watch folder are ignored. If set to `copy`, non-video files are copied as-is to the output folder.

Target
AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION
Default
ignore
Automatic Video Converter: Non-Video File ExtensionsVariable

Space-separated list of file extensions considered non-video. Most non-video files are properly rejected by HandBrake, but some files, like images, may be convertible despite not being videos.

Target
AUTOMATED_CONVERSION_NON_VIDEO_FILE_EXTENSIONS
Default
jpg jpeg bmp png gif txt nfo
Automatic Video Converter: Watch DirectoryVariable

Path to the watch directory within the container. When set to `AUTO` (the default), the path is set to `/watch` for the first watch directory and `/watchX` for additional ones, where `X` is the index (e.g., `2` for the second).

Target
AUTOMATED_CONVERSION_WATCH_DIR
Default
AUTO
Automatic Video Converter: Output DirectoryVariable

Root directory inside the container where converted videos are written.

Target
AUTOMATED_CONVERSION_OUTPUT_DIR
Default
/output
Automatic Video Converter: Output SubdirectoryVariable

Subdirectory of the output folder where converted videos are written. By default, videos are saved directly to `/output/`. If set to `Home/Movies`, videos are written to `/output/Home/Movies`. Use `SAME_AS_SRC` to match the source subfolder. For example, if the source is `/watch/Movies/MyMovie/MyMovie.mkv`, the output is written to `/output/Movies/MyMovie/`.

Target
AUTOMATED_CONVERSION_OUTPUT_SUBDIR
Automatic Video Converter: Overwrite DestinationVariable

When set to `1`, allows overwriting an existing destination file.

Target
AUTOMATED_CONVERSION_OVERWRITE_OUTPUT
Default
0
Automatic Video Converter: Source File Stable TimeVariable

Time (in seconds) during which properties (e.g., size, time) of a video file in the watch folder must remain unchanged to avoid processing a file being copied.

Target
AUTOMATED_CONVERSION_SOURCE_STABLE_TIME
Default
5
Automatic Video Converter: Minimum Title DurationVariable

Minimum title duration (in seconds). Shorter titles are ignored. Applies only to video disc sources (ISO files, `VIDEO_TS` folders, or `BDMV` folders).

Target
AUTOMATED_CONVERSION_SOURCE_MIN_DURATION
Default
10
Automatic Video Converter: Main Title DetectionVariable

When set to `1`, enables HandBrake's main feature title detection to guess and select the main title. Applies only to video disc sources (ISO files, `VIDEO_TS` folders, or `BDMV` folders).

Target
AUTOMATED_CONVERSION_SOURCE_MAIN_TITLE_DETECTION
Default
0
Automatic Video Converter: Check IntervalVariable

Interval (in seconds) at which the automatic video converter checks for new files.

Target
AUTOMATED_CONVERSION_CHECK_INTERVAL
Default
5
Automatic Video Converter: Number of Watch FoldersVariable

Maximum number of watch folders handled by the automatic video converter.

Target
AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS
Default
5
Automatic Video Converter: Disable Progress in GUIVariable

When set to `1`, progress of videos converted by the automatic video converter is not shown in the HandBrake GUI.

Target
AUTOMATED_CONVERSION_NO_GUI_PROGRESS
Default
0
Automatic Video Converter: Custom HandBrake ArgumentsVariable

Custom arguments to pass to HandBrake during conversion.

Target
AUTOMATED_CONVERSION_HANDBRAKE_CUSTOM_ARGS
Automatic Video Converter: Use Trash DirectoryVariable

When set to `1`, the automatic video converter uses the trash directory. This applies only when the converter is configured not to keep source files. In that case, they will be moved to the trash directory (`/trash` inside the container by default) instead of being permanently deleted.

Target
AUTOMATED_CONVERSION_USE_TRASH
Default
0
Automatic Video Converter: Trash DirectoryVariable

Location of the trash directory inside the container.

Target
AUTOMATED_CONVERSION_TRASH_DIR
Default
/trash
WEB Port for GUI (Bridge Network Type)Porttcp

Port to access the application's GUI via the web interface. NOTE: This setting is relevant only when the Network Type is set to `Bridge`.

Target
5800
Default
7803
VNC Port for GUI (Bridge Network Type)Porttcp

Port to access the application's GUI via VNC protocol. Optional if no VNC client is used. NOTE: This setting is relevant only when the Network Type is set to `Bridge`.

Target
5900
Default
7903

Download Statistics

48,360,081
Total Downloads
256,357
This Month
218,878
Avg / Month

Total Downloads Over Time

Loading chart...

Details

Repository
jlesage/handbrake
Last Updated2026-05-30
First Seen2018-09-19

Run HandBrake on Unraid.

HandBrake is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.