[Request] Pyload

I’d like to suggest supporting a new image for Pyload, a python-based download manager with a good webui and built-in support for many file hosting services - https://pyload.net/
I find it much more flexible and container-friendly than JDownloader and have been running it on my seedbox for several months now with great satisfaction, based on this image (based off the LSIO base image): https://hub.docker.com/r/cobraeti/pyload

The cobraeti image works quite well out of the box, including non-root user support, but isn’t well maintained, so updating the application is difficult.

docker create \
  --name=pyload \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -p 8000:8000 \
  -p 7227:7227 `#optional` \
  -v </path/to/pyload/config>:/config \
  -v </path/to/downloads>:/downloads \
  --restart unless-stopped \


I do not use this program so need users to vet it outside of my basic click around testing.
I would not do a drop in replacement.

Works like a charm for me!
Thanks a lot for this!

Can you help me understand this application a bit more?
Would you consider yourself a power user ?

I do not get how a couple python dependencies can support the long list of plugins they have, are you confident this is functionally complete ?

I can say I’m a heavy user, but I haven’t used all parts of the application.
All the plugins are bundled in the main repo, and tend to have the same (light) dependencies, so I would say it’s as expected.

The general idea is that you create “Packages” which are basically lists of URLs representing files to download. Those packages are then either added to your Queue (for immediate processing) or in the Collector (which is basically just a holding area that lets you manually move packages to the Queue). Not really sure what the point of the Collector really is tbh…
Anyway, once a package is up for processing, specific download plugins will be invoked, typically based on a regex test against each of the URL in the package. The download plugin will then implement any specific processing to handle the download - logging in with some preconfigured credentials, bypassing some captcha, respecting some throttling limits, attempt retries, parsing and following links, perform some file checks or postprocessing (e.g. uncompress), send out notifications…

This is typically useful for file hosting services a la Megaupload. I mostly use it with libgen.io since this site has throttling limits, and several mirrors that the corresponding plugin will cycle through.

Overall it’s a good download manager.

It is live here https://hub.docker.com/r/linuxserver/pyload


Seems all good for me!

And it’s a great container indeed.

One thing though, the YouTubeCom plugin (YouTube downloader) requires FFMPEG to merge audio and video. Is there a graceful way to add this? Aware that not everyone may desire this and LSIO is rightly cautious about container size.

PR here:

1 Like

Came back from a weekend away and found the docker updated and it was working like a champ! Thanks! This made a big job small.

great work! Just wondering how do I get the auto extraction of archives. I cannot seem to get it to work.

My downloads folder is a bind volume on an external hard drive but my config is on the local flash/sd. Perhaps it matters.


What kind of archives ? unrar and unzip are installed … we need more information to determine why it is not working for you.

A bit more information. I did some fiddling around, and it is working, partially. It appears there is some sort of permissions issue with deleting the archive after extraction.

Not sure where to go with sorting out permissions within the docker of an external had drive.

It was a rar file which i believe pyload was using unrar to extract, which is on the system.

The error message is:

444 27.07.2019 19:44:10	INFO	ADDON ExtractArchive: Check package: dwn
445	27.07.2019 19:44:10	INFO	ADDON ExtractArchive: dwn.rar | Extract to: /downloads/dwn/
446	27.07.2019 19:44:49	ERROR	ADDON ExtractArchive: dwn.rar | Archive error | WARNING: Cannot change attributes of /downloads/dwn/file.doc
447	27.07.2019 19:44:49	ERROR	ADDON ExtractArchive: dwn.rar | Extract failed

Even though i can see the file extracted and it works fine.

The error indicates it extracted the file and when it went to set the permissions for it , it was unable to.

So it is likely permissions on the mounted volume. It can write in the directory but not change perms.

I’m using the LinuxServer/Pyload container, and was getting errors (“Free download failed | IOError 13”) when trying to download anything from mega.nz, and (“Free download failed | offline”) for googledrive. writl/pyload container works fine. Only difference is writl is set to root, and linuxserver is set to my PID=1000. So I’m thinking this may be a permissions thing. My download folder is my tmp and set for 777, so not sure where else to check. Runing Ubuntu. I changed the permissions section of the webUI, and added my username and group, then removed that, and I’m now getting a different error "Download failed: […]| [Errno 1] Operation not permitted: ‘/downloads/mega.co.nz’ I cannot recrate the error 13 condition, but still no progress.

Hi mfizz, I just installed the pyload container and one thing that I’d like to do is to setup the download folder outside the volume. I am starting to play with containers so I am noob on this matter. After some reading I understood that the bind volume would makes the trick, but I could not make it work. Could you point me out what should be the steps. Thanks!

It’s a shame that the last question from @lordtech went unanswered. Maybe someone can still do it? I would also be interested.