binhex-makemkv

binhex-makemkv

Docker app from Binhex's 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. There are many players that can play MKV files nearly on all platforms, and there are tools to convert MKV files to many formats, including DVD and Blu-ray discs.

Application

MakeMKV

Description

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. There are many players that can play MKV files nearly on all platforms, and there are tools to convert MKV files to many formats, including DVD and Blu-ray discs.

Build notes

Latest stable MakeMKV release from Arch Linux.

Usage

docker run -d \
    -p 5900:5900 \
    -p 6080:6080 \
    --name=<container name> \
    --privileged=true \
    -v <path for config files>:/config \
    -v /etc/localtime:/etc/localtime:ro \
    -e HTTPS_CERT_PATH=<path to cert file> \
    -e HTTPS_KEY_PATH=<path to key file> \
    -e WEBPAGE_TITLE=<name shown in browser tab> \
    -e VNC_PASSWORD=<password for web ui> \
    -e ENABLE_STARTUP_SCRIPTS=<yes|no> \
    -e HEALTHCHECK_COMMAND=<command> \
    -e HEALTHCHECK_ACTION=<action> \
    -e HEALTHCHECK_HOSTNAME=<hostname> \
    -e UMASK=<umask for created files> \
    -e WEBUI_PORT=<port> \
    -e PUID=<uid for user> \
    -e PGID=<gid for user> \
    binhex/arch-makemkv

Please replace all user variables in the above command defined by <> with the correct values.

Example

docker run -d \
    -p 5900:5900 \
    -p 6080:6080 \
    --name=makemkv \
    --privileged=true \
    -v /apps/docker/makemkv:/config \
    -v /etc/localtime:/etc/localtime:ro \
    -e WEBPAGE_TITLE=Tower \
    -e VNC_PASSWORD=mypassword \
    -e ENABLE_STARTUP_SCRIPTS=yes \
    -e UMASK=000 \
    -e WEBUI_PORT=6080 \
    -e PUID=0 \
    -e PGID=0 \
    binhex/arch-makemkv

If you do specify a password for the web ui via the env var 'VNC_PASSWORD' then it MUST be 6 characters or longer, otherwise it will be ignored.

Access via web interface (noVNC)

http://<host ip>:<host port>/vnc.html?resize=remote&host=<host ip>&port=<host port>&&autoconnect=1

e.g.:-

http://192.168.1.10:6080/vnc.html?resize=remote&host=192.168.1.10&port=6080&&autoconnect=1

Access via VNC client

<host ip>::<host port>

e.g.:-

192.168.1.10::5900

Notes

ENABLE_STARTUP_SCRIPTS when set to yes will allow a user to install additional packages from the official Arch Repository or the Arch User Repository (AUR) via scripts located in the folder /config/home/scripts/. A sample script is located at /config/home/scripts/example-startup-script.sh with comments to guide the user on script creation.

User ID (PUID) and Group ID (PGID) can be found by issuing the following command for the user you want to run the container as:-

id <username>

If you appreciate my work, then please consider buying me a beer :D

PayPal donation

Documentation | Support forum

Install binhex-makemkv on Unraid in a few clicks.

Find binhex-makemkv in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for binhex-makemkv Review the template variables and paths Click Install

Download Statistics

820,137
Total Downloads
637
This Month
706
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Details

Repository
ghcr.io/binhex/arch-makemkv
Last Updated2026-01-30
First Seen2019-06-21

Runtime arguments

Web UI
https://[IP]:[PORT:6080]/vnc.html?resize=remote&host=[IP]&port=[PORT:6080]&autoconnect=1
Network
bridge
Shell
bash
Privileged
false
Extra Params
--restart=unless-stopped

Template configuration

Port: VNC InterfacePorttcp

Specify the port used for VNC client connectivity.

Target
5900
Default
5900
Port: Web InterfacePorttcp

Specify the Web UI port for for the application.

Target
6080
Default
6080
Path: /configPathrw

Specify the container path to your configuration files, e.g. databases, configuration files, logs etc.

Target
/config
Default
/mnt/user/appdata/makemkv
Path: /dataPathrw

This is the container path to your downloaded files or user created content.

Target
/data
Path: /mediaPathrw

This is the container path to your media files, e.g. movies, tv, music, pictures etc.

Target
/media
Default
/mnt/user
Variable: HTTPS_CERT_PATHVariable

Specify the path to the HTTPS certificate file

Target
HTTPS_CERT_PATH
Variable: HTTPS_KEY_PATHVariable

Specify the path to the HTTPS key file

Target
HTTPS_KEY_PATH
Variable: WEBPAGE_TITLEVariable

Specify the web title shown for the webpage

Target
WEBPAGE_TITLE
Default
MakeMKV
Variable: VNC_PASSWORDVariable

Specify the password to access the Web UI, if blank no password will be prompted.

Target
VNC_PASSWORD
Variable: ENABLE_STARTUP_SCRIPTSVariable

Specify whether to run a startup script which can in turn install additional packages.

Target
ENABLE_STARTUP_SCRIPTS
Default
no|yes
Variable: WEBUI_PORTVariable

Specify the port the application will listen on - IMPORTANT: If you change this value then you will also need to delete and re-create the port mapping to match.

Target
WEBUI_PORT
Default
6080
Variable: ENABLE_HEALTHCHECKVariable

Enable or disable healthchecks.

Target
ENABLE_HEALTHCHECK
Default
yes|no
Variable: HEALTHCHECK_COMMANDVariable

The command or script to execute, if not specified then the script healthcheck.sh will be used (process, dns and https checking).

Target
HEALTHCHECK_COMMAND
Variable: HEALTHCHECK_ACTIONVariable

The action to execute if the healthcheck command returns a non zero exit code, if not specified the action will be 'exit 1', if you want the container to exit on failure then set the action to 'kill 1'.

Target
HEALTHCHECK_ACTION
Variable: HEALTHCHECK_HOSTNAMEVariable

The hostname used when performing HTTPS and DNS healthchecking.

Target
HEALTHCHECK_HOSTNAME
Default
google.com
Variable: PUIDVariable

User ID for the running container

Target
PUID
Default
99
Variable: PGIDVariable

Group ID for the running container

Target
PGID
Default
100
Variable: UMASKVariable

UMASK for the running container

Target
UMASK
Default
000