How to install JDownloader2 in 2024?

There does not appear to be a JDownloader2 app by default. Many sources on the Internet however claim that it can easily be installed by adding a catalog called “TrueCharts”, for example as described here: TrueNAS Scale: Adding TrueCharts Apps Catalog - Tech Addressed

Unfortunately this does not seem to work (anymore?) and instead of manually creating my own JDownloader container, I would like to ask if anyone could give me a hint on how to install JDownlaoder2 from the chart: jdownloader2 | TrueCharts Charts

Truecharts deleted their Truenas Scale repo months ago. If you want to use their apps, you need to use their linux distro that’s build around their kube/helm environment. That would need either baremetal or a VM.

But pretty much all the truecharts plus iX official/community apps are just based on docker images created by other people. TC is probably based on GitHub - jlesage/docker-jdownloader-2: Docker container for JDownloader 2

Which can be installed in Truenas Scale as a custom app or through Jailmaker sandbox.

Set user/group, bind/hostpath mounts for config/data and ports. Looks pretty straightforward.

The next Scale release will be moving away from helm/kubernetes to docker(compose). Any iX official/community & custom apps will be migrated. Truecharts apps will not.

1 Like

I see, thanks for the information. Creating a custom app surly seems like the easiest way to go, but it comes of course with a big disadvantage: I have to maintain it - no automatic updates, right?

Can you tell me more about why TrueNAS is moving away from helm to docker-compose?

Custom Apps configured via the TrueNAS UI use the same update tracking as train apps. If the docker image has an updated version available upstream, TrueNAS will alert and allow you to upgrade via the UI.

1 Like

I checked with Docker Hub and jaymoulin/jdownloader appears to be the most widely used one by far with 50M weekly downloads, so I went with that and set all the options that it requires, but when it starts, it just spams errors and never becomes available.

Any ideas why it’s not working?

Here is my Config btw:


Application name

Application name: jdownloader

Container Images

Docker Image

Image repository: jaymoulin/jdownloader
Image Tag: latest
Image Pull Policy: Only pull image if not present on host

Container Entrypoint

Container CMD: No items have been added yet.
Container Args: No items have been added yet.

Container Environment Variables

Environment Variable Name: MYJD_USER
Environment Variable Value: myemail@gmail.com
Environment Variable Name: MYJD_PASSWORD
Environment Variable Value: myJdPwd
Environment Variable Name: MYJD_DEVICE_NAME
Environment Variable Value: TrueNAS

Networking

Add external Interfaces: No items have been added yet.
DNS Policy: Use Default DNS Policy where Pod will inherit the name resolution configuration from the node.

DNS Configuration

Nameservers: No items have been added yet.
Searches: No items have been added yet.
DNS Options: No items have been added yet.
Provide acces to node network namespace for the workload: No

Port Forwarding

Container Port: 3129
Node Port: 9129 (Couldn’t set it to 3129 because it needs to be >9000)
Protocol: TCP Protocol

Storage

Host Path Volumes

Host Path: /mnt/pool_home/media
Mount Path: /nas/media

Host Path: /mnt/pool_home/media/Downloads
Mount Path: /opt/JDownloader/Downloads

Memory Backed Volumes

No itmes have been added yet.

##Volumes
Mount Path: /opt/JDownloader/app/cfg
Dataset name: jdownloader-config

Mount Path: /opt/JDownloader/app/logs
Dataset name: jdownloader-logs

Host Path: /opt/JDownloader/app/extensions
Mount Path: jdownlaoder-extensions

Workload Details
Enable TTY: No
Enable STDIN: No
Privileged Mode: No
Capabilities: No items have been added yet.
Configure Container User and Group ID: Yes
Run Container As User: 1001
Run Container As Group: 100

Scaling/Upgrade Policy

Update Strategy: Kill existing pods before creating new ones

Resource Reservation

No GPUs resources allocated.

Resource Limits

Enable Pod resource limits: Yes
CPU Limit: 4000m
Memory Limit: 8Gi

Portal Configuration

Enable WebUI Portal: Yes
Portal Name: Web Portal
Protocol for Portal: HTTP Protocol
Use Node IP for Portal IP/Domain: Yes
Port: 9129

This is my log: https://pastebin.com/5jw25BPH

Did you follow the directions for docker or kubernetes install? Even though you’re installing a docker app, it’s still being ingested into Scale’s kubernetes environment.

Then again, first line in the log shows a probable permission issue: 2024-09-21T05:46:04.168478803-07:00 sed: can’t create temp file '/opt/JDownloader/app/cfg/

1 Like

Don’t know why, but why not try the image instead (already suggested by Craig_L)? I’m using it too, literally 1 min to config and start downloading things

1 Like

With that image it actually works just fine. But it has a big downside: It doesn’t run headless, it actually runs the GUI and a VNC server to access it which of course is way more intense on resources than the other image would be because that other image runs JDownlaoder headless in the background only exposing the MyJDownloader API port.

So if anyone has ideas on how to get this to work, I’m still very much interested. :slightly_smiling_face:

Then again, first line in the log shows a probable permission issue: 2024-09-21T05:46:04.168478803-07:00 sed: can’t create temp file '/opt/JDownloader/app/cfg/
I tried it two ways:

  • Enabled Configure Container User and Group ID - userID set to 1001, group set to 100
  • Disabled Configure Container User and Group ID

So I’m not really sure what could have caused this. 1001:100 is what was suggested on the docker hub page and I’d assume if I don’t set any id it will default to root. Seems odd that it would still be lacking permission.

1 Like

Clear, didn’t think about that. Perfectly legit!

You should probably check what user Is 1001 in your system, and in case adjust ACL on datasets

Did you - or anyone else - find a solution?
I followed your steps and ended with the same issues.