Hi @roberto0610,
Sorry I didn’t get back to you earlier; there are actually a few different things I wanted to mention in my answer and needed to make myself a little more familiar with this image before posting. I’m still not 100% sure of its inner working, but we should be able to get you closer to your goal(s) at least.
This step was unnecessary as docker is already installed on Rockstor. It is indeed what Rock-ons use to function (see Rockstor’s documentation for more information). To the best of my understanding, the yum
command you list shouldn’t actually have installed anything actually.
Handbrake does seem like an interesting target to create a Rock-on so it would probably be preferred to make one for it (feel free to create a corresponding issue on the rockon-registry if you’d like). In the meantime, we can try to get you up and running with a “bare” docker run
way.
Before going any further, however, @Hooverdan made a very good point below:
Indeed, it appears your CPU does not support QuickSync, and given you have an Nvidia card, running the image mentioned by @Hooverdan would be interesting. Please note, however, that the latter has some relatively involved requirements–namely the nvidia runtime–so the performance gain may or may not be worth it. As a result, I would lean towards using the jlesage image first at least.
Now, let’s actually look at how to run it. Please keep in mind that I’ll try to write a rock-on for it once we have a better grasp of the validity of each option. I do see a few oddities in the paths you wrote and given your requirement below…
… I would use the following:
- Create all shares you need from Rockstor’s webUI. You will thus have all permission controls, snapshots, samba/nfs exports easily accessible via the UI. I would create one share for the following (you can of course give them any name you prefer):
- config
- storage
- watch
- output
-
(optional) use Rockstor’s webUI to change the owner of these shares to the user of your choice (better than the default root
): use the “Access Control” tab on the detailed page of a share.
-
If you followed step 2, get the UID / GID of the user who is now the owner of these shares: go to System > Users to see this information. Alternatively, you can simply use the command line id <user_name>
.
-
We can now run the docker run
command. Note that you need to use the name you used in step 1 for these. In my case, it would thus be:
docker run -d \
--name=handbrake \
-p 5800:5800 \
-v /mnt2/config:/config:rw \
-v /mnt2/storage:/storage:ro \
-v /mnt2/watch:/watch:rw \
-v /mnt2/output:/output:rw \
-e USER_ID=<UID from step 3> \
-e GROUP_ID=<GID from step 3> \
jlesage/handbrake
Note the addition of the USER_ID
and GROUP_ID
environment variables. As mentioned on the image’s documentation, these default to 1000, which may explain the permission error you were having.
As long as your watch
folder is exported via SAMBA, you should be fine.
I hope this helps, and let us know how it goes!