Node-MakeMKV is the successor to Remote-MakeMKV. The intent of this project is to provide a web front end for MakeMKV to allow for a headless ripping server. This application is written in CoffeeScript and Node.js. The server has been successfully tested on Linux (Ubuntu and CentOS). The client has been successfully tested in all major desktop and mobile browsers.




Variable Description
output_dir Root ripping directory. Folders for each rip will be created inside of this directory.
source_dir Directory that contains movie files, directories, and images for ripping
listen_port Port to listen on, defaults to 1337
makemkvcon_path Full path to makemkvcon binary, most likely won’t need to be changed
browse_jail Root browsing directory.. client hopefully shouldn’t be able to go above this
outlier_modifier For auto track selection, higher is more restrictive (selected if trackSize >= discSizeUpperQuartile*outlier_modifier)
  • Default MakeMKV selection profile as defined in ~/.MakeMKV/settings.conf will be used for track selections. I am currently working on defining these programmatically.


  • Run the server – coffee ./server.coffeeNote: you must run the server as a user that has permissions to read from optical media

  • Navigate to SERVER_HOSTNAME:LISTEN_PORT to view the GUI


  • Click the Refresh Drives button to scan available drives for discs


  • Click any of the Get Info buttons to get disc level information for a specific drive. Panels with the header title None do not have a valid disc in the drive (or some other drive level error)


  • Once the disc has been scanned, track information will be displayed in the disc panel. Use the checkboxes in the rip column to select which tracks you would like to rip, and the Rip Tracks button to initiate ripping. The Disc Name field can be used to define the folder that MakeMKV will rip into for this disc (relative to the Output Directory defined earlier)