Coder Social home page Coder Social logo

Comments (6)

jaymoulin avatar jaymoulin commented on May 28, 2024

Thanks you for your feedback and support. Your issue contains multiple ideas and questions so I'll try to be as clear as possible.

I was a bit confused that your docker is still named jdownloader and not jdownloader2.

Jdownloader is a deprecated product and jdownloader2 is now the latest maintained version. I tend to use name without version number in it as it could be confusing (you just had this confusion ;)) and prefer a product name which has a version number (my actual version number is 0.7.2 while writing https://github.com/jaymoulin/docker-jdownloader/releases)

It's also time consuming to find information which architecture the docker is build for - this seems to be a common issue as other dockers on docker hub also don't provide the information.

Really few people build docker image for anything but amd64, which is why I made this. This image is built for all architectures which is clearly stated either in this repo description
image
or on hub docker
image
But I know how difficult it could be to identify it's own architecture thus creating this multiarch image.

And finally, I have some issues to deal with.
The default download path given in your installation string is
-v ~/Downloads:/root/Downloads
But the docker container is set to use /opt/JDownloader/Downloads.
For some reason this cannot be changed via the MyJdownloader interface.

You normally should be able to edit this via myjdownloader settings but here are some tricks you can do:

  1. Remap your volume. Instead of -v ~/Downloads:/root/Downloads use -v ~/Downloads:/opt/JDownloader/Downloads
  2. Add a download folder at download interface - You have a chose another folder link which allows you to add your path
    image
  3. Add the configuration volume (the -v ~/jdownloader/cfg:/opt/JDownloader/cfg part) - you'll have all jdownloader configuration files which will allow you to edit path. This last option may have impacts on all your other feedbacks.

In general it seems, the container can't be modified.
I'm permanently getting update notifications but the version is not increasing.

May be related to #32 but I can't do anything about this.

Also, I can't install add-ons.

I don't use add-on so I don't know how these should work but I'm pretty sure you could just add a volume from your add-on path to the docker container path

Most likely there are permission issues. I will edit this post to add my docker -run options later.

I handle user permission correctly since many version, you have to pass the -u <your_uid> to use the user you need.

Maybe I can get a hand on some logs also - not sure where to find the right ones.

99% of the logs are really verbose and jdownloader specific. I won't be able to help you for that, you should see with JDownloader support (https://support.jdownloader.org/)

If you find this product useful, please consider making donation to support me (sponsor button ❤️ )

from docker-jdownloader.

H34dl3ss avatar H34dl3ss commented on May 28, 2024

Wow, that was quick!

Remap your volume. Instead of -v ~/Downloads:/root/Downloads use -v
~/Downloads:/opt/JDownloader/Downloads/

That is what I did.

Add a download folder at download interface - You have a chose another folder link which allows you to add your path

This did not work. Jdownloader complained about "invalid directory".

Add the configuration volume (the -v ~/jdownloader/cfg:/opt/JDownloader/cfg part) - you'll have all jdownloader configuration files which will allow you to edit path.

This was also part of the initial setup as you advised in the doc.

I don't use add-on so I don't know how these should work

I'm referring to the basic add-ons that are available through the MyJdownloader Interface. As you mentioned: "Everything else can be configurable on your MyJDownloader account"

I handle user permission correctly since many version, you have to pass the -u <your_uid> to use the user you need.

This was also in your instructions so I passed -u <other_than_root> but not really knowing why, just because it is good practice not to run as root - I thought.
How should I know which user I need?
Is jdownloader started with rights of the user I'm passing on?
I don't know the internals of the container but if jdownloader is started as an other user than root, could this cause permission errors inside the container? Such as not being able to update files inside the container?
Is it possible to modify only this option for the existing container or should I start another one?
I will try if there is a difference when passing on no --user option.

from docker-jdownloader.

jaymoulin avatar jaymoulin commented on May 28, 2024

Add a download folder at download interface - You have a chose another folder link which allows you to add your path

This did not work. Jdownloader complained about "invalid directory".

Could be either a permission issue. If you ran the container as another user, you have to make sure the mountpoint inside the container have the correct rights. I'll remind this because i don't know if you're familiar with docker:

Each time you add a -v path1:path2, the path1 directory of your Host is mapped to path2 in the container. -v ~/jdownloader/cfg:/opt/JDownloader/cfg in the documentaion means you local path ~jdownloader/cfg will be mapped to /opt/JDownloader/cfg inside the container. Jdownloader in the container loads its configuration files in /opt/JDownloader/cfg, therefore, ~/jdownloader/cfg of your host. JDownloader is unable to access ~/jdownloader/cfg.

This stated, if you want to add a download folder via Myjdownloader interface, make sure you have a valid mountpoint (with correct permission) or you won't see anything

This was also in your instructions so I passed -u <other_than_root> but not really knowing why, just because it is good practice not to run as root - I thought.
Could be a good practice but, this is docker so everyone could be root. The purpose of this is to be sure you can access to your downloaded files. Without this configuration, all your downloaded files would be owned by root (which is the default user in this container) and you won't be able to do things with it.

How should I know which user I need?

When you connect to your device, you use credentials. You user has a UID. You should use this uid. (command id -u shows it, hence used in the README)

Is jdownloader started with rights of the user I'm passing on?

Yes via the -u parameter. Without this parameter, jdownloader defaut user is root.

I don't know the internals of the container but if jdownloader is started as an other user than root, could this cause permission errors inside the container? Such as not being able to update files inside the container?

Yes absolutely

Is it possible to modify only this option for the existing container or should I start another one?

You must create another one. Same for volumes

I will try if there is a difference when passing on no --user option.

Jdownloader will be root, with all that that implies

from docker-jdownloader.

H34dl3ss avatar H34dl3ss commented on May 28, 2024

OK then. Thanks for elaborating.
I'm pretty sure that -u option, I passed on, is the reason for all of my problems.
I will test this later and come back with the result.

from docker-jdownloader.

H34dl3ss avatar H34dl3ss commented on May 28, 2024

Well, here I am.
Started a new container without the -u option and all is nice now!
Updated are performing as well as installing extensions is no problem any more.
Thanks for your assistance. I'm gonna send you a coffe right away! :-)

from docker-jdownloader.

jaymoulin avatar jaymoulin commented on May 28, 2024

I'm glad your issue is now resolved.
Thanks you very much for your donation, this is really helping ❤️

from docker-jdownloader.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.