π What is JDownloader2 and Why Run It on a Server? #
If you frequently download files from various hosting sites, youβre probably familiar with JDownloader2. Itβs a powerful download manager that can auto-capture links, bypass captchas (via MyJDownloader), and resume interrupted downloads.
To make things even more practical, I run JDownloader2 on a server using Docker via Portainer β so itβs always online and can download files directly into the storage!
π§° What Youβll Need #
Before we begin, make sure you have:
- β Docker and Portainer installed (on an STB, VPS, or home server)
- β
A storage path for downloads (in this guide:
/mnt/erb/Downloads) - β
A config folder for JDownloader (e.g.
/portainer/Files/AppData/Config/jdownloader2/config) - β A working internet connection (obviously π)
π οΈ How to Install JDownloader2 on Portainer #
π§± 1. Open Portainer and Go to Stacks #
Login to Portainer β Stacks β click + Add Stack.
You could also use Docker Compose from terminal if you prefer, but here Iβll focus on Portainer since itβs easier for beginners.
π§Ύ 2. Paste the Stack Configuration #
version: '3.3'
services:
jdownloader2:
image: jlesage/jdownloader-2
container_name: JDownloader-2
hostname: jdownloader2
mem_limit: 8g
cpu_shares: 2048
security_opt:
- no-new-privileges:true
- seccomp:unconfined
ports:
- 3129:3129 # MyJDownloader API (optional)
- 5800:5800 # Web UI via browser
- 5900:5900 # VNC access (optional)
volumes:
- /portainer/Files/AppData/Config/jdownloader2/config:/config:rw
- /mnt/erb/Downloads:/Downloads:rw
environment:
TZ: Asia/jakarta
USER_ID: 65534
GROUP_ID: 100
UMASK: 0000
DARK_MODE: 1
restart: always
π Important notes:
- Adjust
/mnt/erb/Downloadsand the config path to match your server’s structure.- The
USER_IDandGROUP_IDmay need to match your system’s file permissions.
βΆοΈ 3. Deploy the Stack #
Click Deploy the Stack and wait until the process finishes.
If everything goes well, youβll see a JDownloader-2 container running in your container list.
π Access & Configuration #
π 4. Access the JDownloader2 Web UI #
Open your browser and visit:
http://[YOUR-SERVER-IP]:5800
Youβll be greeted with a VNC-based desktop UI in your browser. From there, you can open JDownloader and log into your MyJDownloader account (create one if you havenβt already).
π― With MyJDownloader, you can control your downloads remotely from your phone!
βοΈ 5. Change Download Location (Optional) #
By default, JDownloader might use /root/Downloads. To change it:
- Go to Settings β Downloads
- Set the download folder to
/Downloads(as mapped in the container) - Apply changes and restart JDownloader if needed.
π‘ Tips & Tricks #
- π‘οΈ Use a VPN or proxy if you’re dealing with geo-blocked hosts.
- π¦ Auto-extraction can be enabled under Settings β Archive Extractor
- π Share your download folder over Samba/NFS for easy access from your PC or laptop
β FAQ #
Q: Will it auto-start after server reboot? #
A: Yep β restart: always ensures it starts back up automatically.
Q: Can I control it from my phone? #
A: Absolutely! Just install the MyJDownloader app on Android/iOS and log in with your account.
Q: Why is the Web UI a bit slow? #
A: Since it’s VNC over a browser, it can feel a bit laggy. But it’s mainly for setup. You can use MyJDownloader for day-to-day control.
β Wrapping Up #
With this setup, you now have a self-hosted JDownloader2 instance running 24/7 on your server β fully controllable remotely, and saving files directly to your storage.
If you found this guide useful, feel free to share or bookmark it! π