Can't seem to have CDH or ComicRN.py working on OpenMediaVault using Docker with SABnzbd
PaletteSpoon opened this issue · 2 comments
Describe the bug
Using Docker version of Mylar on OpenMediaVault, I can't figure out what's preventing the post-process script or the completed download handling from moving the completed files.
Screenshots/Logs
Here are logs for several attemps, using the post-process script, using CDH (trying with SAB/Mylar on different machines enabled and disabled):
https://hastebin.com/raw/kekuwigumu
On SAB's side, this message is displayed: Cannot run script /config/scripts/ComicRN.py
Environment (please complete the following information):
- OS: OpenMediaVault 5.3.8-1 (Debian based)
- Branch / commit: using LinuxServer.io Docker containers (apparently not using Mylar3 yet) with Mylar version 94dcfd1 and SABnzbd 2.3.9
Additional information
I was using SAB and Mylar on a homemade NAS/HTPC running Windows 10 with the post-processing script working successfully. Starting from Windows 7, upgrading over the years, W10 was too heavy for that low powered machine and I decided to switch to Linux.
I prepared the new system on VirtualBox using Ubuntu Server with Docker to get familiar with it before committing on the actual machine. After a few trial and errors I got everything to work, post-processing script included.
I then discovered OpenMediaVault and decided to go for that since it seemed a bit easier to use for someone not too familiar with the Linux command line.
I set everything up on the actual machine and everything else works except the post-processing of downloaded comics (I just want them to be moved).
I set everything up like the Ubuntu Server VM I prepared, created a "dockeruser" user, added it to the sudo group (not sure it's necessary) using its UID and GID for all containers. All containers are part of the same network named "dockernetwork" and are referenced by the name of the application they're running. SABnzbd is sabnzbd, Mylar is mylar, etc. The volumes are redirecting to the same folders on the host for the different containers (config folder, downloads folder, and folders to store the files after download).
I'm not sure if SAB and Mylar need to be considered as being on different machines due to the use of Docker, I tried both.
As I mentioned earlier, when using the script, SAB mentions Cannot run script /config/scripts/ComicRN.py and no instructions seem to be sent back to Mylar.
I'm using host=mylar in the autoProcessComics.cfg file since it's the name it has on the dockernetwork I set up. It works in the VM, so I assume it is correct.
When using CDH (disabling the use of the script in SAB of course) and SAB/Mylar set as different machines, I see this in the log:
[POST-PROCESSING] SABnzbd Download folder option enabled.
Then it seems that the folder is set as the NZB name instead of the one it was using before (which is the one it downloaded to correctly), so it ends up with a folder ending with .cbr (in this case) which is incorrect. Further down:
[DUPECHECK] File cannot be located in location specified. Something has moved or altered the name.
So it doesn't check in the correct folder where the file has been downloaded.
When trying with SAB/Mylar on the same machine, the last message is
AUTO-COMPLETE-NZB : File successfully downloaded - now initiating completed downloading handling.
and nothing more happens.
If I remember correctly, I think it worked the first time I set it to same machine, but didn't move any other file.
Note: I didn't change the default Enforce permissions settings.
I created a new VM with OpenMediaVault and have the same problem.
I tried on the Ubuntu Server VM I set up a few months ago (I procrastinated a lot on doing a few other tries and finally asking for help) (Mylar version d1ff607) and the post-processing script works.
I created an other new Ubuntu Server VM and SAB now displays this message: Powered by CherryPy 3.6.0 instead of Post Processing SUCCESSFUL! and the file isn't moved, and CDH doesn't work either.
It probably is a permissions issue somewhere but I can't figure out which.
Sorry for the long post, I tried to include any information I could think of about the setup and what I tried. Let me know if you need additional information or if I need to provide different logs.
Thank you very much in advance for your help, it will be much appreciated.
Are you pointing your SABnzbd to the correct location of the ComicRN script? You need to copy the autoProcessComics.cfg, autoProcessComics.py and the ComicRn.py all into your SABnzbd scripts directory. SABnzbd will only execute scripts that are located within it's given script location path for security reasons. Due to you using dockers, I'm assuming this probably might be the issue.
You also have to ensure that python can be executed from within the SABnzbd docker as it will be the user running sabnzbd that will be executing the ComicRN script, not Mylar itself.
As far as the CDH, you need to click on the different machines for SAB & Mylar option (or w/e it's called lol). Then set the directory to a path that is accessible to both dockers. The reason being that Mylar will be copying/moving the file(s) out of that given directory, after SAB drops it in there upon completion of the download. So this directory has to be readable/writeable by both the SABnzbd user and the Mylar user.
Aside from that, I know there are a few dockers that are available for Mylar3 - you might have to use the google-fu. We did include a dockerfile within the Mylar3 repo, however I'm not a docker user (I know, right eh).
Sorry for the delay in response as well, the issues tracker for this version of Mylar isn't really monitored very closely anymore (we still monitor it, just not as diligently obviously).
Hi, thank you very much for your response and sorry for the extremely late reply.
No worries, it's not super urgent but I tend to procrastinate on the matter since I can't seem to make it work.
I put the scripts in the /config/scripts folder of the SAB container, I assume this is correct since they appear in the dropdown list in the categories settings (and I did it like that on my VM where it worked).
I also assume Python is working correctly since I didn't have to do something specific on my VM for that.
The Python version running in the SAB container is 2.7.17
Regarding CDH and its folder, I specified the folder from Mylar's category in SAB settings, and also tried SAB's general completed downloads folder without success.
Both containers have the same main downloads folder mounted the same way.
Both containers are also run by the same "dockeruser" user I created, and the folders (config, scripts, downloads, comics) seem to be owned by that user. I see they are part of the "users" group. Should they be part of the "docker" group, or should there be a "dockeruser" group created to match the username they would need to be assigned to ?
I notice that there seems to be a group of the same name as every user generally, but OpenMediaVault doesn't seem to create them by default when adding a new user (what I did with the "dockeruser" user).
Other than that, I'm not sure what I may have missed.
Thank you again in advance for your help.
Have a good day!