jlesage / docker-makemkv

Docker container for MakeMKV

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug] Device detected, readable, but `The program can't find any usable optical drives.`

AccaliaDeElementia opened this issue · comments

Current Behavior

using rootless podman passing device detects and has permissions in container yet makemkv complains it cannot access drive

Expected Behavior

Disk drive can be read and ripped

Steps To Reproduce

Using podman-compose yaml listed below launch the app and receive the warning

using blkid to read disk info in container:

[accalia@Shizune makemkv]$ podman-compose exec makemkv blkid /dev/sr0
podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 4.5.0
podman exec --interactive --tty --env TZ=America/New_York --env USER_ID=0 --env GROUP_ID=0 --env DARK_MODE=1 --env SECURE_CONNECTION=0 --env ENABLE_CJK_FONT=1 --env MAKEMKV_KEY=beta makemkv_makemkv_1 blkid /dev/sr0
/dev/sr0: LABEL="A SILENT VOICE" TYPE="udf"
exit code: 0
[accalia@Shizune makemkv]$ 

using makemkvcon in container to show that disk title is readable

[accalia@Shizune makemkv]$ podman-compose exec makemkv /opt/makemkv/bin/makemkvcon -r --cache=1 info disc:9999
podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 4.5.0
podman exec --interactive --tty --env TZ=America/New_York --env USER_ID=0 --env GROUP_ID=0 --env DARK_MODE=1 --env SECURE_CONNECTION=0 --env ENABLE_CJK_FONT=1 --env MAKEMKV_KEY=beta makemkv_makemkv_1 /opt/makemkv/bin/makemkvcon -r --cache=1 info disc:9999
MSG:1005,0,1,"MakeMKV v1.17.3 linux(x64-release) started","%1 started","MakeMKV v1.17.3 linux(x64-release)"
MSG:3338,0,2,"Downloading latest SDF to /root/.MakeMKV ...","Downloading latest %1 to %2 ...","SDF","/root/.MakeMKV"
DRV:0,2,999,12,"BD-RE ASUS BW-16D1HT 3.10 KLOL9PA3743","A SILENT VOICE","/dev/sr0"
DRV:1,256,999,0,"","",""
DRV:2,256,999,0,"","",""
DRV:3,256,999,0,"","",""
DRV:4,256,999,0,"","",""
DRV:5,256,999,0,"","",""
DRV:6,256,999,0,"","",""
DRV:7,256,999,0,"","",""
DRV:8,256,999,0,"","",""
DRV:9,256,999,0,"","",""
DRV:10,256,999,0,"","",""
DRV:11,256,999,0,"","",""
DRV:12,256,999,0,"","",""
DRV:13,256,999,0,"","",""
DRV:14,256,999,0,"","",""
DRV:15,256,999,0,"","",""
MSG:5010,0,0,"Failed to open disc","Failed to open disc"
TCOUNT:0
exit code: 0
[accalia@Shizune makemkv]$ 

screenshot of app showing no drives:
image

Environment

  • OS: Fedora Server
  • OS version: 38
  • CPU: Ryzen 7950x
  • Docker version: podman version 4.5.0
  • Device model: ASUS BW-16D1HT
  • Browser/OS: Firefox 113.0.2 (64-bit) (Archlinux)

Container creation

[accalia@Shizune makemkv]$ cat podman-compose.yaml 
version: '3.7'
services:
    nginx: # HTTPS Proxy using LetsEncrypt Certificate
        image: docker.io/library/nginx:alpine
        volumes:
          - ./nginx/app.conf:/etc/nginx/conf.d/app.conf:ro
          - letsencrypt:/etc/letsencrypt
        ports:
          - "192.168.3.2:80:80"
          - "192.168.3.2:443:443"
        restart: always
        command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
        depends_on:
          - makemkv
    certbot: # Certificate manager using LetsEncrypt
        image: docker.io/certbot/dns-cloudflare:latest
        volumes:
          - letsencrypt:/etc/letsencrypt
          - /etc/letsencrypt/cloudflare.ini:/etc/letsencrypt/cloudflare.ini:ro
        restart: always
        entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
    makemkv: # MakeMKV
        image: 'docker.io/jlesage/makemkv'
        ports:
          - "192.168.3.2:5900:5900"
        environment:
            TZ: "America/New_York"
            USER_ID: 0
            GROUP_ID: 0
            DARK_MODE: 1
            SECURE_CONNECTION: 0
            ENABLE_CJK_FONT: 1
            MAKEMKV_KEY: "beta"
        volumes:
          - config:/config:rw
          - storage:/storage:rw
          - /home/accalia/containers/:/output:rw
        restart: always
        dns: 192.168.3.1
        user-ns: keep-id
        group_add:
          - keep-groups
        devices:
          - "/dev/sr0:/dev/sr0"
          - "/dev/sg0:/dev/sg0"
volumes:
    letsencrypt:
    config:
    storage:

[accalia@Shizune makemkv]$ podman-compose --in-pod makemkv up -d
podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 4.5.0
** excluding:  set()
['podman', 'ps', '--filter', 'label=io.podman.compose.project=makemkv', '-a', '--format', '{{ index .Labels "io.podman.compose.config-hash"}}']
podman pod create --name=pod_makemkv --infra=false --share=
Error: adding pod to state: name "pod_makemkv" is in use: pod already exists
exit code: 125
podman volume inspect makemkv_letsencrypt || podman volume create makemkv_letsencrypt
['podman', 'volume', 'inspect', 'makemkv_letsencrypt']
['podman', 'network', 'exists', 'makemkv_default']
podman run --name=makemkv_certbot_1 -d --pod=pod_makemkv --label io.podman.compose.config-hash=457c5bed5f665890d625eb117fc579b2e069748a8bbd8f4c388588465ec35648 --label io.podman.compose.project=makemkv --label io.podman.compose.version=1.0.6 --label PODMAN_SYSTEMD_UNIT=podman-compose@makemkv.service --label com.docker.compose.project=makemkv --label com.docker.compose.project.working_dir=/home/accalia/containers/makemkv --label com.docker.compose.project.config_files=podman-compose.yaml --label com.docker.compose.container-number=1 --label com.docker.compose.service=certbot -v makemkv_letsencrypt:/etc/letsencrypt -v /etc/letsencrypt/cloudflare.ini:/etc/letsencrypt/cloudflare.ini:ro --net makemkv_default --network-alias certbot --restart always --entrypoint ["/bin/sh", "-c", "trap exit TERM; while :; do certbot renew; sleep 12h & wait ${!}; done;"] docker.io/certbot/dns-cloudflare:latest
1426965f059b69b7b1dac9ccb34fd70f616f55ae014d2717910ef05d204905a2
exit code: 0
podman volume inspect makemkv_config || podman volume create makemkv_config
['podman', 'volume', 'inspect', 'makemkv_config']
podman volume inspect makemkv_storage || podman volume create makemkv_storage
['podman', 'volume', 'inspect', 'makemkv_storage']
['podman', 'network', 'exists', 'makemkv_default']
podman run --name=makemkv_makemkv_1 -d --pod=pod_makemkv --label io.podman.compose.config-hash=457c5bed5f665890d625eb117fc579b2e069748a8bbd8f4c388588465ec35648 --label io.podman.compose.project=makemkv --label io.podman.compose.version=1.0.6 --label PODMAN_SYSTEMD_UNIT=podman-compose@makemkv.service --label com.docker.compose.project=makemkv --label com.docker.compose.project.working_dir=/home/accalia/containers/makemkv --label com.docker.compose.project.config_files=podman-compose.yaml --label com.docker.compose.container-number=1 --label com.docker.compose.service=makemkv --group-add keep-groups --device /dev/sr0:/dev/sr0 --device /dev/sg0:/dev/sg0 --dns 192.168.3.1 -e TZ=America/New_York -e USER_ID=0 -e GROUP_ID=0 -e DARK_MODE=1 -e SECURE_CONNECTION=0 -e ENABLE_CJK_FONT=1 -e MAKEMKV_KEY=beta -v makemkv_config:/config:rw -v makemkv_storage:/storage:rw -v /home/accalia/containers:/output:rw --net makemkv_default --network-alias makemkv -p 192.168.3.2:5900:5900 --restart always docker.io/jlesage/makemkv
32727cdfdbf7dd9df5c7c3e0d0f56d51ecde854a53cf15633ffa63233daa0361
exit code: 0
podman volume inspect makemkv_letsencrypt || podman volume create makemkv_letsencrypt
['podman', 'volume', 'inspect', 'makemkv_letsencrypt']
['podman', 'network', 'exists', 'makemkv_default']
podman run --name=makemkv_nginx_1 -d --pod=pod_makemkv --requires=makemkv_makemkv_1 --label io.podman.compose.config-hash=457c5bed5f665890d625eb117fc579b2e069748a8bbd8f4c388588465ec35648 --label io.podman.compose.project=makemkv --label io.podman.compose.version=1.0.6 --label PODMAN_SYSTEMD_UNIT=podman-compose@makemkv.service --label com.docker.compose.project=makemkv --label com.docker.compose.project.working_dir=/home/accalia/containers/makemkv --label com.docker.compose.project.config_files=podman-compose.yaml --label com.docker.compose.container-number=1 --label com.docker.compose.service=nginx -v /home/accalia/containers/makemkv/nginx/app.conf:/etc/nginx/conf.d/app.conf:ro -v makemkv_letsencrypt:/etc/letsencrypt --net makemkv_default --network-alias nginx -p 192.168.3.2:80:80 -p 192.168.3.2:443:443 --restart always docker.io/library/nginx:alpine /bin/sh -c while :; do sleep 6h & wait ${!}; nginx -s reload; done & nginx -g "daemon off;"
c0802189cfb46f725fa7ad7712dd2716663390b4887fa42d72a632af9ba69296
exit code: 0
[accalia@Shizune makemkv]$ 

Container log

[accalia@Shizune makemkv]$ podman-compose logs makemkv
podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 4.5.0
podman logs makemkv_makemkv_1
[init        ] container is starting...
[cont-env    ] loading container environment variables...
[cont-env    ] APP_NAME: loading...
[cont-env    ] APP_VERSION: loading...
[cont-env    ] DISPLAY: executing...
[cont-env    ] DISPLAY: terminated successfully.
[cont-env    ] DISPLAY: loading...
[cont-env    ] DOCKER_IMAGE_PLATFORM: loading...
[cont-env    ] DOCKER_IMAGE_VERSION: loading...
[cont-env    ] GTK2_RC_FILES: executing...
[cont-env    ] GTK2_RC_FILES: terminated successfully.
[cont-env    ] GTK2_RC_FILES: loading...
[cont-env    ] GTK_THEME: executing...
[cont-env    ] GTK_THEME: terminated successfully.
[cont-env    ] GTK_THEME: loading...
[cont-env    ] HOME: loading...
[cont-env    ] QT_STYLE_OVERRIDE: executing...
[cont-env    ] QT_STYLE_OVERRIDE: terminated successfully.
[cont-env    ] QT_STYLE_OVERRIDE: loading...
[cont-env    ] SUP_GROUP_IDS_INTERNAL: executing...
[cont-env    ] SUP_GROUP_IDS_INTERNAL: terminated successfully.
[cont-env    ] SUP_GROUP_IDS_INTERNAL: loading...
[cont-env    ] TAKE_CONFIG_OWNERSHIP: loading...
[cont-env    ] XDG_CACHE_HOME: loading...
[cont-env    ] XDG_CONFIG_HOME: loading...
[cont-env    ] XDG_DATA_HOME: loading...
[cont-env    ] XDG_RUNTIME_DIR: loading...
[cont-env    ] XDG_STATE_HOME: loading...
[cont-env    ] container environment variables initialized.
[cont-secrets] loading container secrets...
[cont-secrets] container secrets loaded.
[cont-init   ] executing container initialization scripts...
[cont-init   ] 10-certs.sh: executing...
[cont-init   ] 10-certs.sh: terminated successfully.
[cont-init   ] 10-check-app-niceness.sh: executing...
[cont-init   ] 10-check-app-niceness.sh: terminated successfully.
[cont-init   ] 10-cjk-font.sh: executing...
[cont-init   ] 10-cjk-font.sh: installing CJK font...
[cont-init   ] 10-cjk-font.sh: fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
[cont-init   ] 10-cjk-font.sh: fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
[cont-init   ] 10-cjk-font.sh: fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
[cont-init   ] 10-cjk-font.sh: (1/3) Installing libfontenc (1.1.4-r0)
[cont-init   ] 10-cjk-font.sh: (2/3) Installing mkfontscale (1.2.2-r0)
[cont-init   ] 10-cjk-font.sh: (3/3) Installing font-wqy-zenhei (0.9.45-r2)
[cont-init   ] 10-cjk-font.sh: Executing busybox-1.35.0-r17.trigger
[cont-init   ] 10-cjk-font.sh: Executing fontconfig-2.14.0-r0.trigger
[cont-init   ] 10-cjk-font.sh: Executing mkfontscale-1.2.2-r0.trigger
[cont-init   ] 10-cjk-font.sh: OK: 363 MiB in 139 packages
[cont-init   ] 10-cjk-font.sh: terminated successfully.
[cont-init   ] 10-clean-logmonitor-states.sh: executing...
[cont-init   ] 10-clean-logmonitor-states.sh: terminated successfully.
[cont-init   ] 10-clean-tmp-dir.sh: executing...
[cont-init   ] 10-clean-tmp-dir.sh: terminated successfully.
[cont-init   ] 10-fontconfig-cache-dir.sh: executing...
[cont-init   ] 10-fontconfig-cache-dir.sh: terminated successfully.
[cont-init   ] 10-init-users.sh: executing...
[cont-init   ] 10-init-users.sh: terminated successfully.
[cont-init   ] 10-nginx.sh: executing...
[cont-init   ] 10-nginx.sh: terminated successfully.
[cont-init   ] 10-openbox.sh: executing...
[cont-init   ] 10-openbox.sh: terminated successfully.
[cont-init   ] 10-set-tmp-dir-perms.sh: executing...
[cont-init   ] 10-set-tmp-dir-perms.sh: terminated successfully.
[cont-init   ] 10-vnc-password.sh: executing...
[cont-init   ] 10-vnc-password.sh: terminated successfully.
[cont-init   ] 10-web-data.sh: executing...
[cont-init   ] 10-web-data.sh: terminated successfully.
[cont-init   ] 10-x11-unix.sh: executing...
[cont-init   ] 10-x11-unix.sh: terminated successfully.
[cont-init   ] 10-xdg-runtime-dir.sh: executing...
[cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
[cont-init   ] 15-install-pkgs.sh: executing...
[cont-init   ] 15-install-pkgs.sh: terminated successfully.
[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/sg0], group 65534.
[cont-init   ] 54-check-optical-drive.sh: terminated successfully.
[cont-init   ] 55-makemkv.sh: executing...
[cont-init   ] 55-makemkv.sh: registration key already up-to-date.
[cont-init   ] 55-makemkv.sh: getting supported drives...
[cont-init   ] 55-makemkv.sh: terminated successfully.
[cont-init   ] 85-take-config-ownership.sh: executing...
[cont-init   ] 85-take-config-ownership.sh: terminated successfully.
[cont-init   ] 89-info.sh: executing...
    ╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮
    │                                                                      │
    │ Application:           MakeMKV                                       │
    │ Application Version:   1.17.3                                        │
    │ Docker Image Version:  23.04.2                                       │
    │ Docker Image Platform: linux/amd64                                   │
    │                                                                      │
    ╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯
[cont-init   ] 89-info.sh: terminated successfully.
[cont-init   ] all container initialization scripts executed.
[init        ] giving control to process supervisor.
[supervisor  ] loading services...
[supervisor  ] loading service 'default'...
[supervisor  ] loading service 'autodiscripper-6'...
[supervisor  ] service 'autodiscripper-6' is disabled.
[supervisor  ] loading service 'logmonitor'...
[supervisor  ] service 'logmonitor' is disabled.
[supervisor  ] loading service 'autodiscripper-13'...
[supervisor  ] service 'autodiscripper-13' is disabled.
[supervisor  ] loading service 'autodiscripper-3'...
[supervisor  ] service 'autodiscripper-3' is disabled.
[supervisor  ] loading service 'app'...
[supervisor  ] loading service 'gui'...
[supervisor  ] loading service 'nginx'...
[supervisor  ] loading service 'xvnc'...
[supervisor  ] loading service 'certsmonitor'...
[supervisor  ] service 'certsmonitor' is disabled.
[supervisor  ] loading service 'openbox'...
[supervisor  ] loading service 'autodiscripper-10'...
[supervisor  ] service 'autodiscripper-10' is disabled.
[supervisor  ] loading service 'autodiscripper-0'...
[supervisor  ] service 'autodiscripper-0' is disabled.
[supervisor  ] loading service 'autodiscripper-7'...
[supervisor  ] service 'autodiscripper-7' is disabled.
[supervisor  ] loading service 'autodiscripper-14'...
[supervisor  ] service 'autodiscripper-14' is disabled.
[supervisor  ] loading service 'autodiscripper-4'...
[supervisor  ] service 'autodiscripper-4' is disabled.
[supervisor  ] loading service 'autodiscripper'...
[supervisor  ] service 'autodiscripper' is disabled.
[supervisor  ] loading service 'autodiscripper-11'...
[supervisor  ] service 'autodiscripper-11' is disabled.
[supervisor  ] loading service 'autodiscripper-1'...
[supervisor  ] service 'autodiscripper-1' is disabled.
[supervisor  ] loading service 'autodiscripper-8'...
[supervisor  ] service 'autodiscripper-8' is disabled.
[supervisor  ] loading service 'logrotate'...
[supervisor  ] loading service 'autodiscripper-15'...
[supervisor  ] service 'autodiscripper-15' is disabled.
[supervisor  ] loading service 'autodiscripper-5'...
[supervisor  ] service 'autodiscripper-5' is disabled.
[supervisor  ] loading service 'autodiscripper-12'...
[supervisor  ] service 'autodiscripper-12' is disabled.
[supervisor  ] loading service 'autodiscripper-2'...
[supervisor  ] service 'autodiscripper-2' is disabled.
[supervisor  ] loading service 'autodiscripper-9'...
[supervisor  ] service 'autodiscripper-9' is disabled.
[supervisor  ] all services loaded.
[supervisor  ] starting services...
[supervisor  ] starting service 'xvnc'...
[xvnc        ] Xvnc TigerVNC 1.13.1 - built Apr 16 2023 17:12:53
[xvnc        ] Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)
[xvnc        ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc        ] Underlying X server release 12013000
[xvnc        ] Mon May 29 08:49:18 2023
[xvnc        ]  vncext:      VNC extension running!
[xvnc        ]  vncext:      Listening for VNC connections on /tmp/vnc.sock (mode 0660)
[xvnc        ]  vncext:      Listening for VNC connections on all interface(s), port 5900
[xvnc        ]  vncext:      created VNC server for screen 0
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTP connections on port 5800.
[supervisor  ] starting service 'openbox'...
[supervisor  ] starting service 'app'...
[supervisor  ] all services started.
[xvnc        ] Mon May 29 08:50:24 2023
[xvnc        ]  Connections: accepted: /tmp/vnc.sock
[xvnc        ]  SConnection: Client needs protocol version 3.8
[xvnc        ]  SConnection: Client requests security type None(1)
[xvnc        ]  VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
[xvnc        ]  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian bgr888
[xvnc        ]  ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc        ]  ComparingUpdateTracker: (1:-nan ratio)
exit code: 0
[accalia@Shizune makemkv]$

Container inspect

[accalia@Shizune makemkv]$ podman inspect makemkv_makemkv_1
[
     {
          "Id": "b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf",
          "Created": "2023-05-29T08:49:10.66390645-04:00",
          "Path": "/init",
          "Args": [
               "/init"
          ],
          "State": {
               "OciVersion": "1.1.0-rc.1",
               "Status": "running",
               "Running": true,
               "Paused": false,
               "Restarting": false,
               "OOMKilled": false,
               "Dead": false,
               "Pid": 664639,
               "ConmonPid": 664637,
               "ExitCode": 0,
               "Error": "",
               "StartedAt": "2023-05-29T08:49:10.739740825-04:00",
               "FinishedAt": "0001-01-01T00:00:00Z",
               "Health": {
                    "Status": "",
                    "FailingStreak": 0,
                    "Log": null
               },
               "CgroupPath": "/user.slice/user-1000.slice/user@1000.service/user.slice/libpod-b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf.scope",
               "CheckpointedAt": "0001-01-01T00:00:00Z",
               "RestoredAt": "0001-01-01T00:00:00Z"
          },
          "Image": "312beb41499b337a2e0615d3b49092cca01ae52f6beb511e2520642c61dbed1b",
          "ImageDigest": "sha256:bf014c2e1a96917776a701e3fec3a663642f08848f7277e3beb73f675847f35f",
          "ImageName": "docker.io/jlesage/makemkv:latest",
          "Rootfs": "",
          "Pod": "b431324a88bb41d66bc4a390b3aa136a617fc5151d487bbb1d8b04aca1aa8e90",
          "ResolvConfPath": "/run/user/1000/containers/overlay-containers/b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf/userdata/resolv.conf",
          "HostnamePath": "/run/user/1000/containers/overlay-containers/b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf/userdata/hostname",
          "HostsPath": "/run/user/1000/containers/overlay-containers/b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf/userdata/hosts",
          "StaticDir": "/home/accalia/.local/share/containers/storage/overlay-containers/b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf/userdata",
          "OCIConfigPath": "/home/accalia/.local/share/containers/storage/overlay-containers/b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf/userdata/config.json",
          "OCIRuntime": "crun",
          "ConmonPidFile": "/run/user/1000/containers/overlay-containers/b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf/userdata/conmon.pid",
          "PidFile": "/run/user/1000/containers/overlay-containers/b167f8ef654f5209f141d64ff1ab7378ff896f9c0f0e3c431f25f45da21becdf/userdata/pidfile",
          "Name": "makemkv_makemkv_1",
          "RestartCount": 0,
          "Driver": "overlay",
          "MountLabel": "",
          "ProcessLabel": "",
          "AppArmorProfile": "",
          "EffectiveCaps": [
               "CAP_CHOWN",
               "CAP_DAC_OVERRIDE",
               "CAP_FOWNER",
               "CAP_FSETID",
               "CAP_KILL",
               "CAP_NET_BIND_SERVICE",
               "CAP_SETFCAP",
               "CAP_SETGID",
               "CAP_SETPCAP",
               "CAP_SETUID",
               "CAP_SYS_CHROOT"
          ],
          "BoundingCaps": [
               "CAP_CHOWN",
               "CAP_DAC_OVERRIDE",
               "CAP_FOWNER",
               "CAP_FSETID",
               "CAP_KILL",
               "CAP_NET_BIND_SERVICE",
               "CAP_SETFCAP",
               "CAP_SETGID",
               "CAP_SETPCAP",
               "CAP_SETUID",
               "CAP_SYS_CHROOT"
          ],
          "ExecIDs": [],
          "GraphDriver": {
               "Name": "overlay",
               "Data": {
                    "LowerDir": "/home/accalia/.local/share/containers/storage/overlay/cc61de80a1802fcf4c6ca206ecdf1346c360d36799e6d96b9639877feb59b3e5/diff:/home/accalia/.local/share/containers/storage/overlay/bdc2c3523c68c6c931ccda166f3ad31b5c69a53fe0a4420cf746f91ed26192b6/diff:/home/accalia/.local/share/containers/storage/overlay/95b7f0003bb2bdec01f67a0509209de4b9c2091b19df7b2126a18102c9db1b3f/diff:/home/accalia/.local/share/containers/storage/overlay/2c41ce5fc308bcc6bd7d55e2ee0926475b20136db311f0e8292b3f4777eac667/diff:/home/accalia/.local/share/containers/storage/overlay/0737422fbf7ba40c630b0938b6e427cf45db83518f54e25d20070a3d61f2911c/diff:/home/accalia/.local/share/containers/storage/overlay/2fa2e181a0d26316febb8e62ba07da3f581a0b02a878413103dac74dec33d85f/diff:/home/accalia/.local/share/containers/storage/overlay/01697bc508c8e694c68c688059c7f0a91235251806c262ff42330fa5ccdefeea/diff:/home/accalia/.local/share/containers/storage/overlay/9d6182f3865ae456891f486e03f2247e479b484bcc5e034715e34a3db594e15e/diff:/home/accalia/.local/share/containers/storage/overlay/7bdcb58f7805d55a9bfc9b987186a53cd8a966aaa34de331e91c5adbc5bf606f/diff:/home/accalia/.local/share/containers/storage/overlay/6fb6f2f9fb90c3cc2efac37e1517557a092a4b888eb55edff14bbb8d5fb2a386/diff:/home/accalia/.local/share/containers/storage/overlay/1abd69c97e9487233d9acd059fd4943261b75a52248369e3fe22fb023eb61c35/diff:/home/accalia/.local/share/containers/storage/overlay/56ee49acbb834bcd82e80916985a11565e0e337fe9e07d6a5f34be51bcd8cb7b/diff:/home/accalia/.local/share/containers/storage/overlay/9678fad3f7b23dbd53e089ccec78b7540a37b30473bc8657db3f8e2b6cca34ac/diff:/home/accalia/.local/share/containers/storage/overlay/56e5177115ca087eb5ed15b5349f5eee1c95a7c377778baffb060df4d548b661/diff:/home/accalia/.local/share/containers/storage/overlay/d4a607205b4688bda854291462a3552c9bfa741efe36a742980a0d96644e5a79/diff:/home/accalia/.local/share/containers/storage/overlay/7c3cdfcd19ac7b755f146ee5eefec77ebd6b437d013db2f31f698801210cff67/diff:/home/accalia/.local/share/containers/storage/overlay/74089725d56ea3ea9bea02e84eb584f2dde6824fc25428a3581a634d5ed9fb30/diff:/home/accalia/.local/share/containers/storage/overlay/943e698a46435f2bef34fdac706c5d7cdc4c46fb871bfaa60201c1e5072bdd10/diff:/home/accalia/.local/share/containers/storage/overlay/610866ad3545dc310a1853ba2e59f6e064b31cde7f2fa4c532e9bbc299813b4d/diff:/home/accalia/.local/share/containers/storage/overlay/e087f19a13bea751fcc2492cef4b4c16d874ff5fb39f1bf36871b8826f50f41e/diff:/home/accalia/.local/share/containers/storage/overlay/30a5fbc1c0545acdc64c188382d1abe88d30418aa8dc112dc478a8d416712481/diff:/home/accalia/.local/share/containers/storage/overlay/0effa21d1c7e0182e1f514bcd75b9ca85b60be92c3810b5cb071e53a36f4e024/diff:/home/accalia/.local/share/containers/storage/overlay/7f5bb2ee04228aa4241d27647491d8b27a107cf517f1e26808595387df205544/diff:/home/accalia/.local/share/containers/storage/overlay/f372d7a43af598e32f3ce5f5fa6e8b49af973da04721b97f53afa27c8c4ee1df/diff:/home/accalia/.local/share/containers/storage/overlay/ca212c58c90d7fd1eca897a90d852d3d915834cbfdc8aaf2378b436c5bf66a63/diff:/home/accalia/.local/share/containers/storage/overlay/9093615c0dc837167373e7c62a05933001554f82c2eb81c3db7408ae022d2b01/diff:/home/accalia/.local/share/containers/storage/overlay/3e8de25f0cbc024030db173db4e631c138f83f6e223d985c7baf739fc2e7e2d2/diff:/home/accalia/.local/share/containers/storage/overlay/20cf5d674b75a2cc339ceeab503a0da3192d39379894aeeeb123496807ccf08a/diff:/home/accalia/.local/share/containers/storage/overlay/8b558aff8af340a6a9d0030513e37b0476fddc22084ca8770cfe9f9eb772ba38/diff:/home/accalia/.local/share/containers/storage/overlay/b41d46c6c7b87296bd4c6a244d17c0adc660588f4a9bb32071482d5a68bff80e/diff:/home/accalia/.local/share/containers/storage/overlay/9f12cdea6f637842c9ac9f87b3752d0d0c70cc9c9c9e24930f7ade6a5ec9a0c9/diff:/home/accalia/.local/share/containers/storage/overlay/e4bdc431c8e3a8a2fee01c265c87d6e9a8b1ed331755ebc3d12f6a5f721deee1/diff:/home/accalia/.local/share/containers/storage/overlay/5d09ae5a4ca098dd7644cb5590b419ee4e3a3fa350431c128ad2d34f25375e10/diff:/home/accalia/.local/share/containers/storage/overlay/d866400c913ffeee2023461155dacd9e5362234b3c048998fa584bf7ba3f7565/diff:/home/accalia/.local/share/containers/storage/overlay/2c2ee710a75c8bcc6dfc737cd35c0a00582cb1a72b729fd02d791ba3a4b7bf82/diff:/home/accalia/.local/share/containers/storage/overlay/aa5968d388b8652cd305e0e037751228967839d83d0cafbde5debf0b092e7c42/diff",
                    "MergedDir": "/home/accalia/.local/share/containers/storage/overlay/79762ebcf7d6ed6000fd660be7dd7d7716ef7d5d6c3d00cae10e56e838e8bde5/merged",
                    "UpperDir": "/home/accalia/.local/share/containers/storage/overlay/79762ebcf7d6ed6000fd660be7dd7d7716ef7d5d6c3d00cae10e56e838e8bde5/diff",
                    "WorkDir": "/home/accalia/.local/share/containers/storage/overlay/79762ebcf7d6ed6000fd660be7dd7d7716ef7d5d6c3d00cae10e56e838e8bde5/work"
               }
          },
          "Mounts": [
               {
                    "Type": "volume",
                    "Name": "makemkv_storage",
                    "Source": "/home/accalia/.local/share/containers/storage/volumes/makemkv_storage/_data",
                    "Destination": "/storage",
                    "Driver": "local",
                    "Mode": "",
                    "Options": [
                         "nosuid",
                         "nodev",
                         "rbind"
                    ],
                    "RW": true,
                    "Propagation": "rprivate"
               },
               {
                    "Type": "volume",
                    "Name": "makemkv_config",
                    "Source": "/home/accalia/.local/share/containers/storage/volumes/makemkv_config/_data",
                    "Destination": "/config",
                    "Driver": "local",
                    "Mode": "",
                    "Options": [
                         "nosuid",
                         "nodev",
                         "rbind"
                    ],
                    "RW": true,
                    "Propagation": "rprivate"
               },
               {
                    "Type": "bind",
                    "Source": "/home/accalia/containers",
                    "Destination": "/output",
                    "Driver": "",
                    "Mode": "",
                    "Options": [
                         "rbind"
                    ],
                    "RW": true,
                    "Propagation": "rprivate"
               }
          ],
          "Dependencies": [],
          "NetworkSettings": {
               "EndpointID": "",
               "Gateway": "",
               "IPAddress": "",
               "IPPrefixLen": 0,
               "IPv6Gateway": "",
               "GlobalIPv6Address": "",
               "GlobalIPv6PrefixLen": 0,
               "MacAddress": "",
               "Bridge": "",
               "SandboxID": "",
               "HairpinMode": false,
               "LinkLocalIPv6Address": "",
               "LinkLocalIPv6PrefixLen": 0,
               "Ports": {
                    "5800/tcp": null,
                    "5900/tcp": [
                         {
                              "HostIp": "192.168.3.2",
                              "HostPort": "5900"
                         }
                    ]
               },
               "SandboxKey": "/run/user/1000/netns/netns-ff62fc14-2103-fb2c-0d6a-3c2c89a1fbef",
               "Networks": {
                    "makemkv_default": {
                         "EndpointID": "",
                         "Gateway": "10.89.3.1",
                         "IPAddress": "10.89.3.47",
                         "IPPrefixLen": 24,
                         "IPv6Gateway": "",
                         "GlobalIPv6Address": "",
                         "GlobalIPv6PrefixLen": 0,
                         "MacAddress": "c2:44:69:d4:0c:ee",
                         "NetworkID": "makemkv_default",
                         "DriverOpts": null,
                         "IPAMConfig": null,
                         "Links": null,
                         "Aliases": [
                              "makemkv",
                              "b167f8ef654f"
                         ]
                    }
               }
          },
          "Namespace": "",
          "IsInfra": false,
          "IsService": false,
          "Config": {
               "Hostname": "b167f8ef654f",
               "Domainname": "",
               "User": "",
               "AttachStdin": false,
               "AttachStdout": false,
               "AttachStderr": false,
               "Tty": false,
               "OpenStdin": false,
               "StdinOnce": false,
               "Env": [
                    "DISPLAY_WIDTH=1920",
                    "GROUP_ID=0",
                    "AUTO_DISC_RIPPER_MIN_TITLE_LENGTH=",
                    "USER_ID=0",
                    "MAKEMKV_GUI=1",
                    "TZ=America/New_York",
                    "APP_NICENESS=0",
                    "DARK_MODE=1",
                    "SECURE_CONNECTION_VNC_METHOD=SSL",
                    "AUTO_DISC_RIPPER_MAKEMKV_PROFILE=",
                    "CONTAINER_DEBUG=0",
                    "AUTO_DISC_RIPPER_BD_MODE=mkv",
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/base/sbin:/opt/base/bin",
                    "AUTO_DISC_RIPPER=0",
                    "WEB_LISTENING_PORT=5800",
                    "UMASK=0022",
                    "INSTALL_PACKAGES=",
                    "ENABLE_CJK_FONT=1",
                    "AUTO_DISC_RIPPER_EJECT=0",
                    "MAKEMKV_KEY=beta",
                    "DISPLAY_HEIGHT=1080",
                    "container=podman",
                    "VNC_LISTENING_PORT=5900",
                    "AUTO_DISC_RIPPER_PARALLEL_RIP=0",
                    "AUTO_DISC_RIPPER_FORCE_UNIQUE_OUTPUT_DIR=0",
                    "TERM=xterm",
                    "LANG=en_US.UTF-8",
                    "SECURE_CONNECTION=0",
                    "SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60",
                    "VNC_PASSWORD=",
                    "AUTO_DISC_RIPPER_NO_GUI_PROGRESS=0",
                    "AUTO_DISC_RIPPER_INTERVAL=5",
                    "ENV=/root/.docker_rc",
                    "SUP_GROUP_IDS=",
                    "KEEP_APP_RUNNING=0",
                    "HOME=/root",
                    "HOSTNAME=b167f8ef654f"
               ],
               "Cmd": [
                    "/init"
               ],
               "Image": "docker.io/jlesage/makemkv:latest",
               "Volumes": null,
               "WorkingDir": "/tmp",
               "Entrypoint": "",
               "OnBuild": null,
               "Labels": {
                    "PODMAN_SYSTEMD_UNIT": "podman-compose@makemkv.service",
                    "com.docker.compose.container-number": "1",
                    "com.docker.compose.project": "makemkv",
                    "com.docker.compose.project.config_files": "podman-compose.yaml",
                    "com.docker.compose.project.working_dir": "/home/accalia/containers/makemkv",
                    "com.docker.compose.service": "makemkv",
                    "io.podman.compose.config-hash": "457c5bed5f665890d625eb117fc579b2e069748a8bbd8f4c388588465ec35648",
                    "io.podman.compose.project": "makemkv",
                    "io.podman.compose.version": "1.0.6",
                    "org.label-schema.description": "Docker container for MakeMKV",
                    "org.label-schema.name": "makemkv",
                    "org.label-schema.schema-version": "1.0",
                    "org.label-schema.vcs-url": "https://github.com/jlesage/docker-makemkv",
                    "org.label-schema.version": "23.04.2"
               },
               "Annotations": {
                    "io.container.manager": "libpod",
                    "io.kubernetes.cri-o.SandboxID": "b431324a88bb41d66bc4a390b3aa136a617fc5151d487bbb1d8b04aca1aa8e90",
                    "org.opencontainers.image.stopSignal": "15",
                    "run.oci.keep_original_groups": "1"
               },
               "StopSignal": 15,
               "HealthcheckOnFailureAction": "none",
               "CreateCommand": [
                    "podman",
                    "run",
                    "--name=makemkv_makemkv_1",
                    "-d",
                    "--pod=pod_makemkv",
                    "--label",
                    "io.podman.compose.config-hash=457c5bed5f665890d625eb117fc579b2e069748a8bbd8f4c388588465ec35648",
                    "--label",
                    "io.podman.compose.project=makemkv",
                    "--label",
                    "io.podman.compose.version=1.0.6",
                    "--label",
                    "PODMAN_SYSTEMD_UNIT=podman-compose@makemkv.service",
                    "--label",
                    "com.docker.compose.project=makemkv",
                    "--label",
                    "com.docker.compose.project.working_dir=/home/accalia/containers/makemkv",
                    "--label",
                    "com.docker.compose.project.config_files=podman-compose.yaml",
                    "--label",
                    "com.docker.compose.container-number=1",
                    "--label",
                    "com.docker.compose.service=makemkv",
                    "--group-add",
                    "keep-groups",
                    "--device",
                    "/dev/sr0:/dev/sr0",
                    "--device",
                    "/dev/sg0:/dev/sg0",
                    "--dns",
                    "192.168.3.1",
                    "-e",
                    "TZ=America/New_York",
                    "-e",
                    "USER_ID=0",
                    "-e",
                    "GROUP_ID=0",
                    "-e",
                    "DARK_MODE=1",
                    "-e",
                    "SECURE_CONNECTION=0",
                    "-e",
                    "ENABLE_CJK_FONT=1",
                    "-e",
                    "MAKEMKV_KEY=beta",
                    "-v",
                    "makemkv_config:/config:rw",
                    "-v",
                    "makemkv_storage:/storage:rw",
                    "-v",
                    "/home/accalia/containers:/output:rw",
                    "--net",
                    "makemkv_default",
                    "--network-alias",
                    "makemkv",
                    "-p",
                    "192.168.3.2:5900:5900",
                    "--restart",
                    "always",
                    "docker.io/jlesage/makemkv"
               ],
               "Umask": "0022",
               "Timeout": 0,
               "StopTimeout": 10,
               "Passwd": true,
               "sdNotifyMode": "container"
          },
          "HostConfig": {
               "Binds": [
                    "makemkv_storage:/storage:rw,rprivate,nosuid,nodev,rbind",
                    "makemkv_config:/config:rw,rprivate,nosuid,nodev,rbind",
                    "/home/accalia/containers:/output:rw,rprivate,rbind"
               ],
               "CgroupManager": "systemd",
               "CgroupMode": "private",
               "ContainerIDFile": "",
               "LogConfig": {
                    "Type": "journald",
                    "Config": null,
                    "Path": "",
                    "Tag": "",
                    "Size": "0B"
               },
               "NetworkMode": "bridge",
               "PortBindings": {
                    "5900/tcp": [
                         {
                              "HostIp": "192.168.3.2",
                              "HostPort": "5900"
                         }
                    ]
               },
               "RestartPolicy": {
                    "Name": "always",
                    "MaximumRetryCount": 0
               },
               "AutoRemove": false,
               "VolumeDriver": "",
               "VolumesFrom": null,
               "CapAdd": [],
               "CapDrop": [],
               "Dns": [
                    "192.168.3.1"
               ],
               "DnsOptions": [],
               "DnsSearch": [],
               "ExtraHosts": [],
               "GroupAdd": [],
               "IpcMode": "shareable",
               "Cgroup": "",
               "Cgroups": "default",
               "Links": null,
               "OomScoreAdj": 0,
               "PidMode": "private",
               "Privileged": false,
               "PublishAllPorts": false,
               "ReadonlyRootfs": false,
               "SecurityOpt": [],
               "Tmpfs": {},
               "UTSMode": "private",
               "UsernsMode": "",
               "ShmSize": 65536000,
               "Runtime": "oci",
               "ConsoleSize": [
                    0,
                    0
               ],
               "Isolation": "",
               "CpuShares": 0,
               "Memory": 0,
               "NanoCpus": 0,
               "CgroupParent": "user.slice",
               "BlkioWeight": 0,
               "BlkioWeightDevice": null,
               "BlkioDeviceReadBps": null,
               "BlkioDeviceWriteBps": null,
               "BlkioDeviceReadIOps": null,
               "BlkioDeviceWriteIOps": null,
               "CpuPeriod": 0,
               "CpuQuota": 0,
               "CpuRealtimePeriod": 0,
               "CpuRealtimeRuntime": 0,
               "CpusetCpus": "",
               "CpusetMems": "",
               "Devices": [],
               "DiskQuota": 0,
               "KernelMemory": 0,
               "MemoryReservation": 0,
               "MemorySwap": 0,
               "MemorySwappiness": 0,
               "OomKillDisable": false,
               "PidsLimit": 2048,
               "Ulimits": [
                    {
                         "Name": "RLIMIT_NOFILE",
                         "Soft": 524288,
                         "Hard": 524288
                    },
                    {
                         "Name": "RLIMIT_NPROC",
                         "Soft": 511455,
                         "Hard": 511455
                    }
               ],
               "CpuCount": 0,
               "CpuPercent": 0,
               "IOMaximumIOps": 0,
               "IOMaximumBandwidth": 0,
               "CgroupConf": null
          }
     }
]
[accalia@Shizune makemkv]$

Anything else?

No response

Update. this is definitely a permissions issue. poked at it again and did chmod a+rwx /dev/sr0 /deg/sg0 on the host and now it works, so this isn't a bug in the container, but in my permissions setup which means this ticket belongs filed against a different project.