wiserain / docker-flexget

Docker image for running Flexget
https://hub.docker.com/r/wiserain/flexget
68 stars 40 forks source link

Problem with sftp plugins, cryptography lib needs updating #81

Closed kingamajick closed 1 year ago

kingamajick commented 1 year ago

I'm not sure of the exact version, but docker-flexget started using a new version of Alpine (at least that's my assumption) and this is causing issues for the pysftp plugin. I suspect it's related to https://github.com/pyca/cryptography/issues/7868.

If I exec into the running container, start python and try to import pysftp I get the following. `

import pysftp Traceback (most recent call last): File "", line 1, in File "/usr/lib/python3.10/site-packages/pysftp/init.py", line 12, in import paramiko File "/usr/lib/python3.10/site-packages/paramiko/init.py", line 22, in from paramiko.transport import SecurityOptions, Transport File "/usr/lib/python3.10/site-packages/paramiko/transport.py", line 135, in class Transport(threading.Thread, ClosingContextManager): File "/usr/lib/python3.10/site-packages/paramiko/transport.py", line 209, in Transport if KexCurve25519.is_available(): File "/usr/lib/python3.10/site-packages/paramiko/kex_curve25519.py", line 30, in is_available X25519PrivateKey.generate() File "/usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py", line 39, in generate from cryptography.hazmat.backends.openssl.backend import backend File "/usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/init.py", line 7, in from cryptography.hazmat.backends.openssl.backend import backend File "/usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 117, in from cryptography.hazmat.bindings.openssl import binding File "/usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: Error relocating /usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: FIPS_mode_set: symbol not found `

The solution was to run pip install cryptography --upgrade inside the container. Is there someway this could be handled at the container level?