caronc / nzb-notify

Push Notifications to a large number of supported services for NZBGet and SABnzbd (based on Apprise)
GNU General Public License v3.0
129 stars 16 forks source link

nzb-notify problem with nzbget module #53

Closed elmero1 closed 5 years ago

elmero1 commented 5 years ago

My setup doesn't work anymore. I use the actual nzb-notify (master branch) and nzbget as a docker conatiner (linuxserver/nzbget).

In nzbget I get an PP-Failure:

Mon Mar 18 2019 22:54:15 INFO Executing post-process-script nzb-notify/Notify.py for movie-file Mon Mar 18 2019 22:54:15 INFO Notify: Traceback (most recent call last): Mon Mar 18 2019 22:54:15 INFO Notify: File "/downloads/scripts/nzb-notify/Notify.py", line 159, in Mon Mar 18 2019 22:54:15 INFO Notify: from nzbget import SCRIPT_MODE Mon Mar 18 2019 22:54:15 INFO Notify: ImportError: No module named nzbget Mon Mar 18 2019 22:54:15 ERROR Post-process-script nzb-notify/Notify.py for movie-file failed (terminated with unknown status)

Until last week, everything worked fine. In another community I received the hint to install the two missing modules (inside the docker container): pip install nzbget pip install apprise

Is this the solution? Why is this necessary now?

caronc commented 5 years ago

Yeah, i updated the main page a while ago:

# Pull in dependencies:
pip install -i requirements.txt

The problem is when i develop against apprise and pynzbget independently (each with their own git repositories), i have to come back to here and add them manually to this package (, Subliminal, Tidyit, and Dirwatch). It just doesn't make sense to not reference them how they were meant to be (and that's via a single install of it on your vm/container/system) :slightly_smiling_face:

The other issue was with SSL... Both Notify, and Subliminal plugins require SSL to communicate with secure websites. The big problem was that the SSL package i packaged with these 2 plugins was badly incompatible with the newer versions. However, if i included the newer version of it, it was badly incompatible with older systems. Again.. same thing; it should just be a global package separately maintained.

This is how it will be going forward unfortunately; it's for the best.

elmero1 commented 5 years ago

Thanks for your help caronc! Do you have experience with the linuxserver/nzbget container? How can I execute the command in the container? Is there a possibility with docker-compose and use further the official container from docker hub?

caronc commented 5 years ago

I'm not too familiar with that container (i don't maintain it or know the person who does).

It looks like it has you specify -v <path to data>:/config in the configuration (source). I presume you're providing the nzb-notify plugin then? Or does the docker image ship with it?

You could try opening up the docker-compose.yml file and possibly add a line like:

  nzbget:
    ...
    ...
    command: >
      bash -c '
      cd /path/to/pynzbget/ && pip install -i requirements.txt
      '

(no promises though as i'm not very educated with docker :slightly_smiling_face: )

If it ships with the docker image originally, then it should be fixed there too.

caronc commented 5 years ago

I'm going to close this ticket off now if you don't mind? I presume you got it all figured out?

elmero1 commented 5 years ago

Yes you can close the ticket. I have installed the pip modules and everything work fine. Thanks for your help.

MoeJoe87 commented 5 years ago

@elmero1 How did you install the pip modules inside the Docker container?

elmero1 commented 5 years ago

@MoeJoe87 With my own dockerfile:

FROM linuxserver/nzbget
MAINTAINER .

# install packages
RUN \
 apk add --no-cache \
        py-pip

COPY /data/scripts/nzb-notify/requirements.txt /

# pip modules install
RUN \
 pip install -r requirements.txt
pfckiko commented 4 years ago

@elmero1 How did you install the pip modules inside the Docker container?

If you're using Unraid you need to use the console one the Sabnbzd docker then follow this tutorial

To install pip, securely 1 download get-pip.py by following this link: get-pip.py. Alternatively, use curl:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

Then run the following command in the folder where you have downloaded get-pip.py:

python get-pip.py

then you run this common

pip install -r requirements.txt

strongy commented 4 years ago

@elmero1 How did you install the pip modules inside the Docker container?

If you're using Unraid you need to use the console one the Sabnbzd docker then follow this tutorial

To install pip, securely 1 download get-pip.py by following this link: get-pip.py. Alternatively, use curl:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

Then run the following command in the folder where you have downloaded get-pip.py:

python get-pip.py

then you run this common

pip install -r requirements.txt

sadly this will get wiped the momment theirs an update though, it prefrably needs to be incorperated into the docker image