MakeMKV

MakeMKV

Docker app from Djoss' Repository

Overview

MakeMKV is your one-click solution to convert video that you own into free and patents-unencumbered format that can be played everywhere. MakeMKV is a format converter, otherwise called "transcoder". It converts the video clips from proprietary (and usually encrypted) disc into a set of MKV files, preserving most information but not changing it in any way. The MKV format can store multiple video/audio tracks with all meta-information and preserve chapters.

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: insert a DVD or Blu-ray disc into an optical drive and let MakeMKV rips it without any user interaction.

For a complete documentation of this container, see https://github.com/jlesage/docker-makemkv#readme

NOTE: For the container to have access to your optical drive(s), you need to add them to your container configuration. This is done by adding a new "Device". An optical drive is represented by two Linux device files: "/dev/srX" and "/dev/sgY". For optimal performance, the container needs both of them. To determine the right devices to use, start the container and look at its log.

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/makemkv
StoragePathro

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

Target
/storage
Default
/mnt/user
Output DirectoryPathrw

This is where extracted videos are written.

Target
/output
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
License KeyVariable

MakeMKV registration key to use. The key is written to the configuration file during container startup. When set to `BETA`, the latest beta key is automatically used. When set to `UNSET`, no key is automatically written to the configuration file.

Target
MAKEMKV_KEY
Default
BETA
MakeMKV GUI StateVariable

Setting this to `1` enables the MakeMKV, `0` disables it.

Target
MAKEMKV_GUI
Default
1
Automatic Disc Ripper: EnabledVariable

When set to `1`, the automatic disc ripper is enabled.

Target
AUTO_DISC_RIPPER
Default
0
Automatic Disc Ripper: Custom MakeMKV ProfileVariable

Filename of the custom MakeMKV profile the automatic disc ripper should use. The profile is expected to be found under the `/config` folder of the container, unless an absolute path is specified.

Target
AUTO_DISC_RIPPER_MAKEMKV_PROFILE
Automatic Disc Ripper: EjectVariable

When set to `1`, disc is ejected from the drive when ripping is terminated.

Target
AUTO_DISC_RIPPER_EJECT
Default
0
Automatic Disc Ripper: ParallelVariable

When set to `1`, discs from all available optical drives are ripped in parallel. Else, each disc from optical drives is ripped one at time.

Target
AUTO_DISC_RIPPER_PARALLEL_RIP
Default
0
Automatic Disc Ripper: IntervalVariable

Interval, in seconds, the automatic disc ripper checks for the presence of a DVD/Blu-ray discs.

Target
AUTO_DISC_RIPPER_INTERVAL
Default
5
Automatic Disc Ripper: Minimum Title LengthVariable

Titles with a length less than this value are ignored. Length is in seconds. By default, no value is set, meaning that value from MakeMKV's configuration file is taken.

Target
AUTO_DISC_RIPPER_MIN_TITLE_LENGTH
Automatic Disc Ripper: Blu-ray Rip ModeVariable

Rip mode of Blu-ray discs. `mkv` is the default mode, where a set of MKV files are produced. When set to `backup`, a copy of the (decrypted) file system of the disc is created instead.

Target
AUTO_DISC_RIPPER_BD_MODE
Default
mkv
Automatic Disc Ripper: DVD Rip ModeVariable

Rip mode of DVD discs. `mkv` is the default mode, where a set of MKV files are produced. When set to `backup`, a copy of the (decrypted) file system of the disc is instead created as an ISO file.

Target
AUTO_DISC_RIPPER_DVD_MODE
Default
mkv
Automatic Disc Ripper: Force Unique Output DirectoryVariable

When set to `0`, files are written to `/output/DISC_LABEL/`, where `DISC_LABEL` is the label/name of the disc. If this directory exists, then files are written to `/output/DISC_LABEL-XXXXXX`, where `XXXXXX` are random readable characters. When set to `1`, the `/output/DISC_LABEL-XXXXXX` pattern is always used.

Target
AUTO_DISC_RIPPER_FORCE_UNIQUE_OUTPUT_DIR
Default
0
Automatic Disc Ripper: Disable Progress in GUIVariable

When set to `1`, progress of discs ripped by the automatic disc ripper is not shown in the MakeMKV GUI.

Target
AUTO_DISC_RIPPER_NO_GUI_PROGRESS
Default
0
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
7806
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
7906

Download Statistics

16,478,211
Total Downloads
76,304
This Month
80,342
Avg / Month

Total Downloads Over Time

Loading chart...

Details

Repository
jlesage/makemkv
Last Updated2026-03-14
First Seen2018-09-18

Run MakeMKV on Unraid.

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