docker-mkvcleaver icon indicating copy to clipboard operation
docker-mkvcleaver copied to clipboard

[Bug] Extract button disabled

Open SergioRius opened this issue 7 months ago • 4 comments

Current Behavior

The button for extraction is disabled.

Expected Behavior

Should be enabled.

Steps To Reproduce

New install. Checked folders are Ok. Added a file in the interface. Marked a track on it. Left output dir blank so it extracts to the same origin folder. The button stays greyed out.

I understand it could be that needs mkvtoolnix source informed, but I've tried to select the binaries under /opt/mkvtoolnix but the folder appears empty.

Environment

  • OS: Unraid
  • OS version: 7
  • CPU: Xeon v1230
  • Docker version: ??
  • Device model:
  • Browser/OS: Chrome

Container creation

Installed through Unraid app

Container log

[cont-init   ] 10-pkgs-mirror.sh: terminated successfully.
[cont-init   ] 10-pulse.sh: executing...
[cont-init   ] 10-pulse.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-webauth.sh: executing...
[cont-init   ] 10-webauth.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-cjk-font.sh: executing...
[cont-init   ] 15-cjk-font.sh: terminated successfully.
[cont-init   ] 15-install-pkgs.sh: executing...
[cont-init   ] 15-install-pkgs.sh: terminated successfully.
[cont-init   ] 55-mkvcleaver.sh: executing...
[cont-init   ] 55-mkvcleaver.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:           MKVCleaver                                    │
    │ Application Version:   0800                                          │
    │ Docker Image Version:  25.02.1                                       │
    │ 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 'app'...
[supervisor  ] loading service 'gui'...
[supervisor  ] loading service 'audiorecorder'...
[supervisor  ] service 'audiorecorder' is disabled.
[supervisor  ] loading service 'certsmonitor'...
[supervisor  ] service 'certsmonitor' is disabled.
[supervisor  ] loading service 'nginx'...
[supervisor  ] loading service 'webauth'...
[supervisor  ] service 'webauth' is disabled.
[supervisor  ] loading service 'xvnc'...
[supervisor  ] loading service 'openbox'...
[supervisor  ] loading service 'pulseaudio'...
[supervisor  ] service 'pulseaudio' is disabled.
[supervisor  ] loading service 'xcompmgr'...
[supervisor  ] loading service 'wineserver'...
[supervisor  ] loading service 'logmonitor'...
[supervisor  ] service 'logmonitor' is disabled.
[supervisor  ] loading service 'logrotate'...
[supervisor  ] all services loaded.
[supervisor  ] starting services...
[supervisor  ] starting service 'xvnc'...
[xvnc        ] Xvnc TigerVNC 1.14.1 - built Feb  7 2025 21:11:51
[xvnc        ] Copyright (C) 1999-2024 TigerVNC Team and many others (see README.rst)
[xvnc        ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc        ] Underlying X server release 12014000
[xvnc        ] Thu May 29 11:27:35 2025
[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 'xcompmgr'...
[supervisor  ] starting service 'wineserver'...
[supervisor  ] starting service 'app'...
[supervisor  ] all services started.
[app         ] opening db: 0
[app         ] created table sessions: 0
[app         ] created table child_handles: 0
[app         ] created table log: 0
[xvnc        ] Thu May 29 11:28:14 2025
[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        ] Thu May 29 11:28:15 2025
[xvnc        ]  ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc        ]  ComparingUpdateTracker: (1:-nan ratio)
[app         ] created table sessions: 0
[app         ] created table child_handles: 0
[app         ] created table log: 0

Container inspect

[
    {
        "Id": "a5d208df108a5908337ef720ddf423d0c1a433a8a0d3f425528dc21df80ecef3",
        "Created": "2025-05-29T09:27:28.116888047Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2144544,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2025-05-29T09:27:28.590836111Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:3e76b6b889201e81cca7d0c93c0ad7667e37ea7ecd4fcb47610e586e6f6ac382",
        "ResolvConfPath": "/var/lib/docker/containers/a5d208df108a5908337ef720ddf423d0c1a433a8a0d3f425528dc21df80ecef3/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/a5d208df108a5908337ef720ddf423d0c1a433a8a0d3f425528dc21df80ecef3/hostname",
        "HostsPath": "/var/lib/docker/containers/a5d208df108a5908337ef720ddf423d0c1a433a8a0d3f425528dc21df80ecef3/hosts",
        "LogPath": "/var/lib/docker/containers/a5d208df108a5908337ef720ddf423d0c1a433a8a0d3f425528dc21df80ecef3/a5d208df108a5908337ef720ddf423d0c1a433a8a0d3f425528dc21df80ecef3-json.log",
        "Name": "/MKVCleaver",
        "RestartCount": 0,
        "Driver": "btrfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/mnt/user/downloads/:/storage:rw",
                "/mnt/services/appdata/MKVCleaver:/config:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {
                    "max-file": "1",
                    "max-size": "50m"
                }
            },
            "NetworkMode": "bridge",
            "PortBindings": {
                "5800/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "7812"
                    }
                ],
                "5900/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "7912"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": [],
            "BlkioDeviceWriteBps": [],
            "BlkioDeviceReadIOps": [],
            "BlkioDeviceWriteIOps": [],
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": 2048,
            "Ulimits": [],
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": null,
            "Name": "btrfs"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/mnt/user/downloads",
                "Destination": "/storage",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/mnt/services/appdata/MKVCleaver",
                "Destination": "/config",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "a5d208df108a",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "5800/tcp": {},
                "5900/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "HOST_OS=Unraid",
                "HOST_HOSTNAME=deathshadow",
                "SECURE_CONNECTION_VNC_METHOD=SSL",
                "WEB_LISTENING_PORT=5800",
                "USER_ID=99",
                "APP_NICENESS=0",
                "DISPLAY_HEIGHT=1080",
                "VNC_LISTENING_PORT=5900",
                "GROUP_ID=100",
                "UMASK=0000",
                "DISPLAY_WIDTH=1920",
                "SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60",
                "TZ=Europe/Paris",
                "HOST_CONTAINERNAME=MKVCleaver",
                "DARK_MODE=1",
                "SECURE_CONNECTION=0",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/base/sbin:/opt/base/bin",
                "ENV=/root/.docker_rc",
                "SUP_GROUP_IDS=",
                "LANG=en_US.UTF-8",
                "KEEP_APP_RUNNING=0",
                "INSTALL_PACKAGES=",
                "PACKAGES_MIRROR=",
                "CONTAINER_DEBUG=0",
                "VNC_PASSWORD=",
                "ENABLE_CJK_FONT=0",
                "WEB_AUDIO=0",
                "WEB_AUTHENTICATION=0",
                "WEB_AUTHENTICATION_TOKEN_VALIDITY_TIME=24",
                "WEB_AUTHENTICATION_DEFAULT_USERNAME=",
                "WEB_AUTHENTICATION_DEFAULT_PASSWORD="
            ],
            "Cmd": [
                "/init"
            ],
            "Image": "jlesage/mkvcleaver",
            "Volumes": {
                "/config": {},
                "/storage": {}
            },
            "WorkingDir": "/tmp",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "net.unraid.docker.icon": "https://raw.githubusercontent.com/jlesage/docker-templates/master/jlesage/images/mkvcleaver-icon.png",
                "net.unraid.docker.managed": "dockerman",
                "net.unraid.docker.webui": "http://[IP]:[PORT:5800]",
                "org.label-schema.description": "Docker container for MKVCleaver",
                "org.label-schema.name": "mkvcleaver",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-url": "https://github.com/jlesage/docker-mkvcleaver",
                "org.label-schema.version": "25.02.1"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "c83563b81b7c1456a1d795188f048680c46bc56e109f8f5bd188697d8cc0bb77",
            "SandboxKey": "/var/run/docker/netns/c83563b81b7c",
            "Ports": {
                "5800/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "7812"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "7812"
                    }
                ],
                "5900/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "7912"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "7912"
                    }
                ]
            },
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "1e4ffb2df9a679c2a5578ce6e32e5a6f2fb14155e9426d1e39980f934adf2b43",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.11",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:0b",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "MacAddress": "02:42:ac:11:00:0b",
                    "DriverOpts": null,
                    "NetworkID": "cf805d5cd315f699cbfd3cdd77f1e7e13dfb36530bd8ce72097f0987ee1d8618",
                    "EndpointID": "1e4ffb2df9a679c2a5578ce6e32e5a6f2fb14155e9426d1e39980f934adf2b43",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.11",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": null
                }
            }
        }
    }
]

Anything else?

No response

SergioRius avatar May 29 '25 09:05 SergioRius

The mkvtoolnix folder is created with root ownership while the app runs under a non privileged user.

/opt # ls -lha
total 0      
drwxr-xr-x    1 root     root          58 Feb  9 19:30 .
drwxr-xr-x    1 root     root         206 May 29 11:27 ..
drwxr-xr-x    1 root     root          30 Feb  7 21:20 base
drwxr-xr-x    1 app      app          518 May 29 11:28 mkvcleaver
drwxr-xr-x    1 root     root          52 Feb  9 17:08 mkvtoolnix
drwxr-xr-x    1 root     root          56 Feb  9 19:30 noVNC

Changing the ownership helps in choosing the mkvtoolnix folder, but still the button is greyed out.

SergioRius avatar May 29 '25 10:05 SergioRius

Using the unRAID template without changing any setting should work. Are you selecting a file and a track ? Here is an example of what I have:

Image

jlesage avatar Jun 02 '25 23:06 jlesage

Yup. Selected a track. Hardly to see the checkbox though

Image Default template settings, only adding the folder.

MKVToolnix container is also installed, pointing to that same folder, with the same "more settings", and perfectly working, so I initially discard permission issues..

SergioRius avatar Jun 03 '25 09:06 SergioRius

I'm not sure what could be the problem... Maybe you could try to restart from scratch by removing the container and removing /mnt/services/appdata/MKVCleaver.

jlesage avatar Jun 04 '25 12:06 jlesage