I’m trying to create a custom Rockon for a MakeMKV image. I used the existing Handbrake json file as a template. One of the requirements, obviously, is an optical drive to read from. However, when I install the image (successfully), the docker log file shows the following:
[cont-init ] 54-check-optical-drive.sh: executing...
[cont-init ] 54-check-optical-drive.sh: looking for usable optical drives...
[cont-init ] 54-check-optical-drive.sh: found optical drive [/dev/sr0, /dev/sg3], but it is not usable because:
[cont-init ] 54-check-optical-drive.sh: --> the host device /dev/sg3 is not exposed to the container.
[cont-init ] 54-check-optical-drive.sh: no usable optical drive found.
[cont-init ] 54-check-optical-drive.sh: terminated successfully.
I’m not really sure why that is. The /dev/sg3 requirement doesn’t appear in the original Handbrake file, though I never confirmed whether the optical drive is even accessible there. I can confirm that on my system, /dev/sr0 is definitely the optical drive. Why would both be needed for a single optical drive? And how do I incorporate that as part of the json file? Do I just add a 2nd device section where /dev/sg3 gets added?
Here’s the json file I’ve come up with so far:
{
"MakeMKV": {
"containers": {
"makemkv": {
"image": "jlesage/makemkv",
"launch_order": 1,
"devices": {
"opticaldrive": {
"description": "Optional: path to optical drive device (e.g., DVD drive at /dev/sr0).Optical drives usually have /dev/srX as device. E.g., the first drive is /dev/sr0, the second /dev/sr1, etc. Leave blank if >
"label": "Optical Drive"
}
},
"ports": {
"5800": {
"description": "WebUI port defualt 5810",
"host_default": 5810,
"label": "WebUI port",
"protocol": "tcp",
"ui": true
}
},
"volumes": {
"/config": {
"description": "Choose a Share for configuration.",
"label": "Config"
},
"/storage": {
"description": "Choose a Share for Storage",
"label": "Data Storage"
},
"/output": {
"description": "Choose a Share for Output",
"label": "Output"
}
},
"environment": {
"USER_ID": {
"description": "Enter a valid UID to run MakeMKV as. It must have full permissions to all Shares mapped in the previous step.",
"label": "UID to run MakeMKV as.",
"index": 1
},
"GROUP_ID": {
"description": "Enter a valid GID to use along with the above UID. It (or the above UID) must have full permissions to all Shares mapped in the previous step.",
"label": "GID to run MakeMKV as.",
"index": 2
},
"AUTO_DISC_RIPPER": {
"description": "When set to 1, the automatic disc ripper is enabled.",
"label": "AUTO DISC RIPPER",
"index": 3
},
"AUTO_DISC_RIPPER_EJECT": {
"description": "When set to 1, disc is ejected from the drive when ripping is terminated.",
"label": "AUTO EJECT",
"index": 4
},
"MAKEMKV_KEY":{
"description": "Makekmv key. Set to beta or own bought key",
"label": "MakeMKV key",
"index": 5
}
}
}
},
"description": "Rip DVD and Blu-ray",
"ui": {
"slug": ""
},
"volume_add_support": true,
"website": "https://hub.docker.com/r/jlesage/makemkv/",
"version": "1.0"
}
}