jlesage / docker-makemkv

Docker container for MakeMKV

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[QUESTION] ARM / ARM64 Version comming?

the-hotmann opened this issue · comments

Hi, just wanted to ask if there is any chance of a ARM64 based docker image comming?

Would be interested in these two questions:

  1. is it possible at all?
  2. is it comming?

Thanks in advance! :)

image

Yes it is possible and providing a multi-arch image is in my plan.

I had a discussion with the developper of MakeMKV and hopefully the next version of MakeMKV will greatly simplify the multi-arch support. So because of that I cannot provide an exact timeline about the availability of the image.

Thanks for your efforts and work on this! :)

The latest Docker image is now multi-arch :)

Thanks, just tested. Sadly I get a black screen. Just the little debug-box with the settings appears.

Nothing meaningful in the logs.

Ah lol .. after about 20 min it just appeared. Did not do anything. A workaround is:

  1. change to Local Scaling
  2. change browser window size
  3. change to Remote Resizing

Actually noticed. That I first need to resize. Otherwise no change is detected and therefore no image is sent. Would be nice, to at the very begin have a full picture. Just happens on the ARM64 version

What I also noticed:

  • the env MAKEMKV_KEY does not work properly. I want to just paste my key as this variable. I am aware, that default is Beta and unset is an option, but I littleraly want to paste the key-string in there. Otherwise the env should be called MAKEMKV_KEY_TYPE not MAKEMKV_KEY. Hope that makes sense.

Should I open a new issue here for this, or is it ok so?

Just the little debug-box with the settings appears.

Not sure what you mean by this... do you have a screenshot ?

the env MAKEMKV_KEY does not work properly. I want to just paste my key as this variable. I am aware, that default is Beta and unset is an option, but I littleraly want to paste the key-string in there. Otherwise the env should be called MAKEMKV_KEY_TYPE not MAKEMKV_KEY. Hope that makes sense.

Yes, you should be able to put your license key into the variable. What doesn't work exactly ?

Not sure what you mean by this... do you have a screenshot ?

Of course! Everytime I restart the container this happens and needs minutes to show something.
Here you go:
image

After the workaround and some waiting, the screen will reappear.

What doesn't work exactly ?

I deleted the whole config folder to start clean with the ARM64 version. And put the key string as the env MAKEMKV_KEY.
It did not work. I will had to paste the key again in the app under Help ==> Register. After saving and restarting the container the license was set.

After the workaround and some waiting, the screen will reappear.

Can you try to add --ulimit nofile=65536:65536 to your docker run command to see if it help?

I deleted the whole config folder to start clean with the ARM64 version. And put the key string as the env MAKEMKV_KEY.
It did not work. I will had to paste the key again in the app under Help ==> Register. After saving and restarting the container the license was set.

Before registering the key with MakeMKV, can you verify if the key was put in /config/settings.conf ? If yes, then can you compare the file after registering in MakeMKV ?

Also, could you provide the output of:

docker exec <container name> cat /proc/self/limits

Can you try to add --ulimit nofile=65536:65536 to your docker run command to see if it help?

I am using docker-compose, so I added:

    ulimits:
      nofile:
        soft: 65536
        hard: 65536

so the template would look like this:

version: '3'
services:
  makemkv:
    image: jlesage/makemkv
    ports:
      - "5800:5800"
    volumes:
      - "/docker/appdata/makemkv:/config:rw"
      - "/home/user:/storage:ro"
      - "/home/user/MakeMKV/output:/output:rw"
    devices:
      - "/dev/sr0:/dev/sr0"
      - "/dev/sg2:/dev/sg2"
    ulimits:
      nofile:
        soft: 65536
        hard: 65536

to the config of this service.
Thanks! This actually helped! The screen is immediately showing up now.

can you verify if the key was put in /config/settings.conf ?

You're right. It is in there and works now. I guess I know why this happened.
I think MakeMKV searches in /config/.MakeMKV/settings.conf and not in /config/settings.conf. But /config/.MakeMKV is a link to /config. And since I backuped the config folder and restored it, both folders existed as links has not been backuped as links, but as the same folder again, so I had seperate filestates. After this I set it up fresh.

This actually is bad-practice as it (/config/.MakeMKV) could point anywhere else on the host and therefore allow access to folders you don't want it to point to. But I guess that problem must be addressed by the MakeMKV Dev?

Also, could you provide the output of:

docker exec <container name> cat /proc/self/limits

Here you go:
BEFORE:

Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        unlimited            unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             unlimited            unlimited            processes
Max open files            1073741816           1073741816           files
Max locked memory         8388608              8388608              bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       30126                30126                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

AFTER:

Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        unlimited            unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             unlimited            unlimited            processes
Max open files            65536                65536                files
Max locked memory         8388608              8388608              bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       30126                30126                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

So actually things are now more limited. But it works just fine now. It even is reproducable. When I turn off the ulimit the screen again takes long to appear.

I think MakeMKV searches in /config/.MakeMKV/settings.conf and not in /config/settings.conf. But /config/.MakeMKV is a link to /config. And since I backupped the config folder and restored it, both folders existed as links has not been backuped as links, but as the same folder again, so I had seperate filestates. After this I set it up fresh.

This link is created by the container, because MakeMKV is always looking to the .MakeMKV folder. One thing that could be done is to re-create the link every time the container is started (thus removing anything already at /config/.MakeMKV).

This actually is bad-practice as it (/config/.MakeMKV) could point anywhere else on the host and therefore allow access to folders you don't want it to point to. But I guess that problem must be addressed by the MakeMKV Dev?

I'm not sure what you mean, but since this is inside the container, it cannot points to anywhere on the host.

So actually things are now more limited. But it works just fine now. It even is reproducable. When I turn off the ulimit the screen again takes long to appear.

Thanks for the outputs. This is a known Docker bug. I can check if this limit can be set by the container itself.

This link is created by the container, because MakeMKV is always looking to the .MakeMKV folder. One thing that could be done is to re-create the link every time the container is started (thus removing anything already at /config/.MakeMKV).

I guess that would be a good workaround. If /config/.MakeMKV is a folder - delete it and create a link.

I'm not sure what you mean, but since this is inside the container, it cannot points to anywhere on the host.

My bad, I had a wrong tought as I could also see the link on the host (obviously) but when changing directory to .MakeMKV it did not work, as the folder /config does not exist on my host.

Thanks for the outputs. This is a known Docker bug. I can check if this limit can be set by the container itself.

Thank you very much! :)

Can you try the latest image and let me know if it is working fine without setting ulimits in your compose file?

Thanks, I will try and report back.

Indeed, I now don't need any ulimits anymore. Seems like you fixed it! 🙌