JDownloader

JDownloader

apps.detail.types.app from junkerderprovinz's Repository

apps.detail.sections.overview

JDownloader 2 with a sleek, modern dark mode GUI and full clipboard support out of the box — a complete dark interface where the download list, link grabber and settings are all dark, on a smooth, hardware-accelerated Selkies web desktop. No tweaking, no add-ons — it just looks great from the first start. What's pre-configured: • Full dark mode by default — JD Plain Dark (monochrome Carbon #161616) in a clean maximised kiosk window; switch to a matching Light theme via the Theme variable. • Auto-installs and self-updates JDownloader — first-run install prompts are auto-confirmed, nothing to click. • Seamless clipboard over HTTPS: copy on your PC, paste straight into JD. • Persistent config and downloads in /config and /downloads; hidden columns / layout survive a restart. Notes: • FIRST START takes a few minutes: JDownloader installs itself and its dark theme, so the WebUI stays black until done — do NOT restart. Wait for the "JDOWNLOADER IS READY" banner in the container log, then open the WebUI. • WebUI opens via HTTPS (port 3001, self-signed cert — accept once); clipboard needs HTTPS. Plain HTTP (3000) is also exposed. • Map /downloads to your download share. PUID/PGID default to 99/100 (nobody/users on Unraid). • Language: English by default — change it any time in JDownloader's own language menu (Settings, the flag icon); your choice persists across restarts. • Auth: leave WebUI Username and Password EMPTY for no login. Source on GitHub: https://github.com/junkerderprovinz/jdownloader

JDownloader 2 for Unraid

Build  Lint  Docker Pulls  Image Size  Arch  Selkies  Unraid  License: AGPL-3.0


A modern, plug-and-play Docker image for JDownloader 2 on Unraid with a clean, sleek, fully dark and ad-free UI out of the box — a monochrome IBM Carbon #161616 dark across the entire interface (download list, link grabber and settings, not just the menu bar), with light fills + readable text on the progress bars and a borderless, maximised kiosk window. JDownloader's built-in advertisements are switched off, so the download graph keeps its full height. Full GUI in your browser via Selkies, zero first-run setup.


Buy me a coffee


Table of Contents

  1. Overview
  2. Screenshots
  3. Quick Start
  4. Configuration
  5. Customisation & Persistence
  6. Troubleshooting
  7. Architecture
  8. Contributing / License
  9. License
  10. Support this project

1. Overview

This image packages JDownloader 2 into a self-contained Docker container that runs in any modern web browser. It is built on top of linuxserver/baseimage-selkies, so it benefits from LSIO's actively-maintained Selkies desktop-streaming stack (a hybrid VNC/H.264 pipeline) and weekly security updates, while everything JDownloader-specific (dark theme, ad-free defaults, Java runtime, auto-install) is layered on top.

What's included beyond bare JDownloader:

  • Selkies instead of noVNC — a hybrid VNC/H.264 pipeline for a smooth 60fps web desktop, real bidirectional browser clipboard, native file upload and download, high-DPI ready
  • Sleek, complete Dark Mode pre-applied — a monochrome IBM Carbon (#161616) dark across the entire GUI (download list, link grabber and settings, not just the menu bar), in a clean maximised kiosk window; switch to a matching Light theme with one variable
  • Ad-free by default — JDownloader's built-in advertisements (the "Become premium user" banner, the premium-alert column nags, the special-deal popups) are switched off, so the GUI stays clean and the download speed graph keeps its full height
  • Java 21 JRE — full AWT/Swing support for the JDownloader GUI, not headless
  • Auto-install — downloads and installs JDownloader 2 on first container start, no manual JAR setup
  • Self-updating — JDownloader updates itself on every start as it normally does
  • Update-safe config — all settings, links and session state live in /config and survive every docker pull
  • Multi-arch — amd64 and arm64
This image jlesage jaymoulin
Web stack Selkies noVNC — (headless)
HW-accelerated rendering
Browser clipboard ⚠️
File upload via WebUI
Full dark UI (content too)
Ad-free by default
Auto-install on first start
Multi-arch ✅ amd64 + arm64
Base LinuxServer/Selkies jlesage/Alpine Alpine

2. Screenshots

JDownloader download list with the Carbon dark theme and right-click menu
Download list in monochrome Carbon #161616 — right-click menu, per-file priority, live speed/ETA.


JDownloader downloading multiple packages with the dark theme
Multiple packages downloading — uniform dark rows, light progress bars, green speed graph.


JDownloader Settings — User Interface tab, fully dark
Settings → User Interface — fully dark, the same Carbon palette across the whole app.


3. Quick Start

Step 1 — Install the template

In Unraid: Apps → search for JDownloader → click Install.

The Community Applications template is published from the unraid-apps feed (one feed for all of junkerderprovinz's apps). If the Template dropdown in Docker → Add Container no longer accepts a URL on your Unraid version, drop the XML directly into the templates-user folder via SSH (or WinSCP). Important: the filename must be my-JDownloader.xml with the my- prefix and capital J — otherwise Unraid sees it as a separate template and a Force Update will reset all customizations.

wget -O /boot/config/plugins/dockerMan/templates-user/my-JDownloader.xml \
    https://raw.githubusercontent.com/junkerderprovinz/unraid-apps/main/jdownloader/jdownloader.xml

Step 2 — Adjust paths and start

The defaults work out of the box, but you may want to tweak:

  • Config (/config) — defaults to /mnt/user/appdata/jdownloader
  • Downloads (/downloads) — defaults to /mnt/user/downloads; this is where JDownloader saves files
  • Theme — default Dark (JD Plain Dark, Carbon #161616 palette); switch to Light any time
  • WebUI Password — leave empty for LAN-only, set anything for exposure beyond the LAN

Click Apply.

⏳ First start — wait for the READY banner

On the first start (and after every image update) JDownloader installs/updates itself and applies the dark theme. The WebUI stays black for a few minutes. Open the container log and wait for this banner before you open the WebUI:

############################################################
 JDOWNLOADER IS READY  ->  open the WebUI now (HTTPS 3001)
############################################################

Do not restart the container while it installs. The banner is shown only once the GUI is up and the dark theme is fully applied — so when you see it, the UI is already dark and ready. (It self-heals JDownloader's first-run theme reset, then prints the banner.)

Step 3 — Open the WebUI

Use https://<unraid-ip>:3001/ (this is what the template's WebUI button opens). HTTPS is needed for seamless clipboard — copy on your PC and paste straight into JD; accept the self-signed cert warning once. Plain http://<unraid-ip>:3000/ also works as a fallback, but without clipboard support (browsers block the clipboard API over plain HTTP).

The JDownloader GUI appears automatically once the install completes.

docker-compose (non-Unraid)
services:
  jdownloader:
    image: junkerderprovinz/jdownloader:latest
    container_name: jdownloader
    environment:
      - PUID=99
      - PGID=100
      - TZ=Europe/Vienna
      - JD_THEME=Dark
    volumes:
      - /mnt/user/appdata/jdownloader:/config
      - /mnt/user/downloads:/downloads
    ports:
      - 3000:3000
      - 3001:3001
    restart: unless-stopped
    shm_size: 1gb

shm_size: 1gb is required for smooth Selkies rendering.


4. Configuration

Variable Default Description
JD_THEME Dark UI theme — Dark = monochrome Carbon #161616, Light = JD's light theme
JD_SELFUPDATE true false disables JD's periodic self-update checks (opt-in "frozen appliance"). Note: the same update channel delivers the hoster plugins, which go stale within weeks — downloads may start failing. First install always uses the updater.
JD_ENABLE_BROWSER false true enables JD's "solve captcha in browser" flow: reCAPTCHA/hCaptcha/Turnstile open in a bundled Firefox (with uBlock Origin) on the web desktop, solved with one click from the container's own IP (tokens are IP-bound); the profile persists in /config/.config/mozilla. Off by default — no browser process runs. Only enable it if a hoster you use needs browser captchas (classic image captchas are auto-solved either way); enabling it runs a full browser (more resources + attack surface).
JD_UI_SCALE (empty) Optional HiDPI scaling for the whole JDownloader UI, e.g. 1.5 or 2; empty keeps 1x. Renders the UI crisp and large at the desktop's native resolution so you do not need browser zoom (browser zoom upscales the Selkies video stream and blurs it). See Troubleshooting if text looks tiny or blurry.
PUID 99 User ID — Unraid's nobody
PGID 100 Group ID — Unraid's users
TZ Europe/Vienna Timezone
CUSTOM_USER (empty) WebUI login username — leave empty with PASSWORD for no login
PASSWORD (empty) WebUI password — set this if exposed beyond LAN
UMASK 022 File-creation mask
Port Purpose Volume Purpose
3000 Selkies HTTP (fallback) /config Persistent JDownloader config, links, session
3001 Selkies HTTPS (self-signed) /downloads Download destination

Language: the UI is English by default. Change it any time in JDownloader's own language menu (top toolbar → the flag icon, or Settings → Language) — your choice is saved and persists across restarts.


5. Customisation & Persistence

On the first start, JDownloader installs itself into /config/JDownloader/. All settings, link lists, accounts and download history live there and survive every docker pull and container update.

/config/
└── JDownloader/
    ├── cfg/
    │   └── laf/      # the Carbon #161616 colorfor* palette (re-applied every start)
    ├── libs/laf/     # JD's own STOCK FlatLaf (unpatched) — the dark chrome comes from the image, not from here
    ├── themes/flat/  # bundled flat icon set (re-seeded from the image every start)
    └── JDownloader.jar

The env-driven setting JD_THEME is re-applied on every start, so you can change it at any time via the Unraid template.

The base image also supports /config/custom-cont-init.d/ for your own init scripts — see the LinuxServer docs.


6. Troubleshooting

WebUI is black / desktop never appears
  • Make sure shm_size is at least 512mb (Unraid template sets 1gb)
  • Check the container log for Selkies startup errors
  • Try https://<ip>:3001/ — sometimes browsers block WebSockets over plain HTTP
  • First start takes a few minutes — JDownloader installs itself + its dark theme; the screen stays black until done. Watch the container log for the JDOWNLOADER IS READY banner, then refresh. Don't restart the container.
  • First start only: JDownloader may ask once to install its design + a few extensions — click OK / Install now. Afterwards it stays dark with no prompts.
Can't paste into JD / seamless clipboard doesn't work
  • Open the WebUI over HTTPS (https://<ip>:3001/ — the template's WebUI button). Browsers only allow the seamless clipboard API in a secure context; over plain HTTP it's blocked.
  • If prompted, allow the browser's clipboard permission (lock icon → site settings).
JDownloader GUI doesn't appear after 2 minutes
  • Open the container log and look for init-jdownloader messages
  • If you see JDownloader2.jar missing after installer run — the installer needs an internet connection on first start. Ensure the container has internet access.
  • Restart the container once — the installer retries automatically
Dark mode not active
  • Verify JD_THEME=Dark is set in your template
  • Check the container log for [jdownloader-theme] lines
  • The theme is applied at container start, not live — restart after changing JD_THEME
Text looks tiny at high resolution, or blurry when I zoom the browser
  • This is how a streamed desktop works: Selkies sends the whole X display as one video stream, so zooming your browser upscales that video and blurs the text.
  • Instead of browser zoom, set JD_UI_SCALE (for example 1.5 or 2). JDownloader then renders its UI larger at full pixel density, so text stays crisp at the desktop's native resolution.
  • Keep the browser at 100% zoom once JD_UI_SCALE is set, and restart the container after changing it.
"Permission denied" on /downloads
  • Check PUID / PGID. On Unraid, 99:100 (nobody:users) matches share permissions.
  • Verify your /downloads share has the right permissions: DockerEdit → check the path
WebUI password not accepted
  • Open in a private/incognito window once — your browser may have cached old credentials

7. Architecture

ghcr.io/linuxserver/baseimage-selkies:ubunturesolute   (s6-overlay v3 · Selkies · weekly LSIO updates)
      │
      ▼  cont-init.d/10-jdownloader-setup        (runs once, before the desktop starts)
      │     • writes JD's native Carbon #161616 colorfor* palette   → cfg/laf
      │     • seeds the bundled flat icon set                       → themes/flat
      │     • language · tray off · openbox kiosk (no title bar, dialogs not maximised)
      ▼
   svc-de  →  /defaults/autostart   (the JDownloader launcher loop)
      │     • FIRST install: silent HEADLESS pre-install (no GUI = no forced
      │       dialogs), then the GUI starts with the core already in place
      │     • java -jar JDownloader.jar     (the regular GUI launch)
      │     • re-applies the colorfor*/icons theme config before each launch
      │     • a -javaagent auto-confirms JD's forced install dialogs AND registers
      │       /opt/JDownloader/flatlaf-defaults as a FlatLaf custom-defaults source
      │       (official API) — the #161616 chrome; flatlaf.jar stays STOCK
      │     • theme auto-heal: restarts JD once if a self-update reset the theme
      │       (ground truth: the LAF actually applied inside the JVM, max 3/hour)
      │     • prints "JDOWNLOADER IS READY" only when the JVM confirms the dark LAF
      ▼
   JDownloader 2   (Java Swing GUI, streamed to your browser by Selkies)
      ▲
   svc-de/finish  →  SIGTERMs the JVM on stop so it flushes column layout / settings

8. Contributing / License

Pull requests welcome. Issues: https://github.com/junkerderprovinz/jdownloader/issues.

Licensing — dual:

  • This wrapper repository (Dockerfile, rootfs/, scripts, Unraid template, README and banner/icon artwork) is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
  • JDownloader 2 itself retains its own license (see jdownloader.org/license). When you run or redistribute the resulting container image, you must comply with JDownloader's license as well.
# Run lints locally (same as CI)
docker run --rm -i hadolint/hadolint < Dockerfile
find rootfs -name '*.sh' | xargs shellcheck --severity=warning --shell=bash
find . -name '*.xml' | xargs xmllint --noout

Credits

  • JDownloader 2 — AppWork GmbH & the JDownloader team
  • LinuxServer.io — for the excellent baseimage-selkies
  • Selkies — for a modern, actively-developed browser desktop stack
  • Icons8 — the bundled "JD Plain" flat icon set uses JDownloader's Icons8 icons, redistributed verbatim under CC BY-ND 3.0
  • Inspiration: jlesage and jaymoulin JDownloader containers — they paved the way

9. License

Copyright (C) 2026 Junker der Provinz.

This repository packages JDownloader as a container for Unraid. The packaging in this repository (Dockerfile, scripts, theme, web assets and everything else original here) is free software under the GNU Affero General Public License v3.0 (AGPL-3.0); see LICENSE. If you distribute it, or run a modified version as a network service, you must release your source under the same AGPL-3.0 terms and keep the existing copyright and attribution notices intact.

Scope. The AGPL applies to this repository's own code and assets. JDownloader itself is a separate project under its own license and name; this repository does not claim it. The banner, logo, theme and other branding original to this repository remain reserved: a fork must use its own branding and may not present itself as this project.


10. Support this project

If this image saves you time or a debug night, consider buying me a coffee:

Buy me a coffee

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.detail.sections.categories

apps.downloadStats.title

46,535
apps.downloadStats.metrics.totalDownloads

apps.detail.sections.related

apps.detail.related.exploreCategories

apps.detail.related.exploreAll

apps.detail.sections.details

apps.detail.details.repository
junkerderprovinz/jdownloader:latest
apps.detail.details.lastUpdated2026-08-04
apps.detail.details.firstSeen2026-06-09

apps.detail.sections.runtime

apps.detail.details.webui
https://[IP]:[PORT:3001]/
apps.detail.details.network
bridge
apps.detail.details.shell
bash
apps.detail.details.privileged
false
apps.detail.details.extraParams
--restart=unless-stopped --shm-size=1gb

apps.detail.sections.configuration

WebUI Port (HTTP / Selkies)Porttcp

Plain HTTP WebUI. Browsers block seamless clipboard over HTTP — prefer HTTPS (3001).

apps.detail.config.target
3000
apps.detail.config.default
3000
apps.detail.config.value
3000
WebUI Port (HTTPS / Selkies)Porttcp

HTTPS WebUI (self-signed TLS) — the WebUI button opens this; required for seamless clipboard.

apps.detail.config.target
3001
apps.detail.config.default
3001
apps.detail.config.value
3001
AppData (/config)Pathrw

Persistent JDownloader install, configs, and session data.

apps.detail.config.target
/config
apps.detail.config.default
/mnt/user/appdata/jdownloader
apps.detail.config.value
/mnt/user/appdata/jdownloader
Downloads (/downloads)Pathrw

Download target directory.

apps.detail.config.target
/downloads
apps.detail.config.default
/mnt/user/downloads
apps.detail.config.value
/mnt/user/downloads
Theme (JD_THEME)Variable

Dark = monochrome Carbon #161616, Light = JD's light theme, jd-highlighter = borderless, freely-accented dark (pick the accent with JD_ACCENT below).

apps.detail.config.target
JD_THEME
apps.detail.config.default
Dark|Light|jd-highlighter
apps.detail.config.value
Dark
Accent (JD_ACCENT)Variable

Accent colour for the jd-highlighter theme (any hex, e.g. #ffee00). Only applies when Theme is set to jd-highlighter. The accent lights up checkmarks, toggles, focus, the download progress bar and primary buttons; large fills stay neutral so text stays readable at any hue. Button/progress text is auto-contrasted (dark on a light accent, light on a dark accent).

apps.detail.config.target
JD_ACCENT
apps.detail.config.default
#ffee00
apps.detail.config.value
#ffee00
Self-Update (JD_SELFUPDATE)Variable

true (default) = JDownloader keeps updating itself. false = frozen appliance: disables JD's periodic self-update checks. WARNING: the same update channel delivers the hoster plugins, which go stale within weeks - downloads may start failing. The first install always uses the updater.

apps.detail.config.target
JD_SELFUPDATE
apps.detail.config.default
true|false
apps.detail.config.value
true
In-container browser for captchas (JD_ENABLE_BROWSER)Variable

auto (default) = remembers your last choice, so an enabled browser survives container updates (recreates). Set true to enable JDownloader's 'solve captcha in browser' flow: reCAPTCHA/hCaptcha/Turnstile open in a bundled Firefox (with uBlock Origin) on the web desktop and are solved with one click, from the container's own IP (tokens are IP-bound). The Firefox profile persists in /config/.config/mozilla. Set false to force it off. Only enable it if a hoster you use needs browser captchas - classic image captchas are auto-solved either way, and enabling it runs a full browser (more resources + attack surface).

apps.detail.config.target
JD_ENABLE_BROWSER
apps.detail.config.default
auto|true|false
apps.detail.config.value
auto
WebUI UsernameVariable

Optional. Username for HTTP-basic-auth. Leave EMPTY with password for no login.

apps.detail.config.target
CUSTOM_USER
WebUI PasswordVariable

Optional. Password for HTTP-basic-auth.

apps.detail.config.target
PASSWORD
Timezone (TZ)Variable

Container timezone.

apps.detail.config.target
TZ
apps.detail.config.default
Europe/Vienna|Africa/Abidjan|Africa/Accra|Africa/Addis_Ababa|Africa/Algiers|Africa/Asmera|Africa/Bamako|Africa/Bangui|Africa/Banjul|Africa/Bissau|Africa/Blantyre|Africa/Brazzaville|Africa/Bujumbura|Africa/Cairo|Africa/Casablanca|Africa/Ceuta|Africa/Conakry|Africa/Dakar|Africa/Dar_es_Salaam|Africa/Djibouti|Africa/Douala|Africa/El_Aaiun|Africa/Freetown|Africa/Gaborone|Africa/Harare|Africa/Johannesburg|Africa/Juba|Africa/Kampala|Africa/Khartoum|Africa/Kigali|Africa/Kinshasa|Africa/Lagos|Africa/Libreville|Africa/Lome|Africa/Luanda|Africa/Lubumbashi|Africa/Lusaka|Africa/Malabo|Africa/Maputo|Africa/Maseru|Africa/Mbabane|Africa/Mogadishu|Africa/Monrovia|Africa/Nairobi|Africa/Ndjamena|Africa/Niamey|Africa/Nouakchott|Africa/Ouagadougou|Africa/Porto-Novo|Africa/Sao_Tome|Africa/Tripoli|Africa/Tunis|Africa/Windhoek|America/Adak|America/Anchorage|America/Anguilla|America/Antigua|America/Araguaina|America/Argentina/La_Rioja|America/Argentina/Rio_Gallegos|America/Argentina/Salta|America/Argentina/San_Juan|America/Argentina/San_Luis|America/Argentina/Tucuman|America/Argentina/Ushuaia|America/Aruba|America/Asuncion|America/Bahia|America/Bahia_Banderas|America/Barbados|America/Belem|America/Belize|America/Blanc-Sablon|America/Boa_Vista|America/Bogota|America/Boise|America/Buenos_Aires|America/Cambridge_Bay|America/Campo_Grande|America/Cancun|America/Caracas|America/Catamarca|America/Cayenne|America/Cayman|America/Chicago|America/Chihuahua|America/Ciudad_Juarez|America/Coral_Harbour|America/Cordoba|America/Costa_Rica|America/Coyhaique|America/Creston|America/Cuiaba|America/Curacao|America/Danmarkshavn|America/Dawson|America/Dawson_Creek|America/Denver|America/Detroit|America/Dominica|America/Edmonton|America/Eirunepe|America/El_Salvador|America/Fort_Nelson|America/Fortaleza|America/Glace_Bay|America/Godthab|America/Goose_Bay|America/Grand_Turk|America/Grenada|America/Guadeloupe|America/Guatemala|America/Guayaquil|America/Guyana|America/Halifax|America/Havana|America/Hermosillo|America/Indiana/Knox|America/Indiana/Marengo|America/Indiana/Petersburg|America/Indiana/Tell_City|America/Indiana/Vevay|America/Indiana/Vincennes|America/Indiana/Winamac|America/Indianapolis|America/Inuvik|America/Iqaluit|America/Jamaica|America/Jujuy|America/Juneau|America/Kentucky/Monticello|America/Kralendijk|America/La_Paz|America/Lima|America/Los_Angeles|America/Louisville|America/Lower_Princes|America/Maceio|America/Managua|America/Manaus|America/Marigot|America/Martinique|America/Matamoros|America/Mazatlan|America/Mendoza|America/Menominee|America/Merida|America/Metlakatla|America/Mexico_City|America/Miquelon|America/Moncton|America/Monterrey|America/Montevideo|America/Montserrat|America/Nassau|America/New_York|America/Nome|America/Noronha|America/North_Dakota/Beulah|America/North_Dakota/Center|America/North_Dakota/New_Salem|America/Ojinaga|America/Panama|America/Paramaribo|America/Phoenix|America/Port-au-Prince|America/Port_of_Spain|America/Porto_Velho|America/Puerto_Rico|America/Punta_Arenas|America/Rankin_Inlet|America/Recife|America/Regina|America/Resolute|America/Rio_Branco|America/Santarem|America/Santiago|America/Santo_Domingo|America/Sao_Paulo|America/Scoresbysund|America/Sitka|America/St_Barthelemy|America/St_Johns|America/St_Kitts|America/St_Lucia|America/St_Thomas|America/St_Vincent|America/Swift_Current|America/Tegucigalpa|America/Thule|America/Tijuana|America/Toronto|America/Tortola|America/Vancouver|America/Whitehorse|America/Winnipeg|America/Yakutat|Antarctica/Casey|Antarctica/Davis|Antarctica/DumontDUrville|Antarctica/Macquarie|Antarctica/Mawson|Antarctica/McMurdo|Antarctica/Palmer|Antarctica/Rothera|Antarctica/Syowa|Antarctica/Troll|Antarctica/Vostok|Arctic/Longyearbyen|Asia/Aden|Asia/Almaty|Asia/Amman|Asia/Anadyr|Asia/Aqtau|Asia/Aqtobe|Asia/Ashgabat|Asia/Atyrau|Asia/Baghdad|Asia/Bahrain|Asia/Baku|Asia/Bangkok|Asia/Barnaul|Asia/Beirut|Asia/Bishkek|Asia/Brunei|Asia/Calcutta|Asia/Chita|Asia/Colombo|Asia/Damascus|Asia/Dhaka|Asia/Dili|Asia/Dubai|Asia/Dushanbe|Asia/Famagusta|Asia/Gaza|Asia/Hebron|Asia/Hong_Kong|Asia/Hovd|Asia/Irkutsk|Asia/Jakarta|Asia/Jayapura|Asia/Jerusalem|Asia/Kabul|Asia/Kamchatka|Asia/Karachi|Asia/Katmandu|Asia/Khandyga|Asia/Krasnoyarsk|Asia/Kuala_Lumpur|Asia/Kuching|Asia/Kuwait|Asia/Macau|Asia/Magadan|Asia/Makassar|Asia/Manila|Asia/Muscat|Asia/Nicosia|Asia/Novokuznetsk|Asia/Novosibirsk|Asia/Omsk|Asia/Oral|Asia/Phnom_Penh|Asia/Pontianak|Asia/Pyongyang|Asia/Qatar|Asia/Qostanay|Asia/Qyzylorda|Asia/Rangoon|Asia/Riyadh|Asia/Saigon|Asia/Sakhalin|Asia/Samarkand|Asia/Seoul|Asia/Shanghai|Asia/Singapore|Asia/Srednekolymsk|Asia/Taipei|Asia/Tashkent|Asia/Tbilisi|Asia/Tehran|Asia/Thimphu|Asia/Tokyo|Asia/Tomsk|Asia/Ulaanbaatar|Asia/Urumqi|Asia/Ust-Nera|Asia/Vientiane|Asia/Vladivostok|Asia/Yakutsk|Asia/Yekaterinburg|Asia/Yerevan|Atlantic/Azores|Atlantic/Bermuda|Atlantic/Canary|Atlantic/Cape_Verde|Atlantic/Faeroe|Atlantic/Madeira|Atlantic/Reykjavik|Atlantic/South_Georgia|Atlantic/St_Helena|Atlantic/Stanley|Australia/Adelaide|Australia/Brisbane|Australia/Broken_Hill|Australia/Darwin|Australia/Eucla|Australia/Hobart|Australia/Lindeman|Australia/Lord_Howe|Australia/Melbourne|Australia/Perth|Australia/Sydney|Europe/Amsterdam|Europe/Andorra|Europe/Astrakhan|Europe/Athens|Europe/Belgrade|Europe/Berlin|Europe/Bratislava|Europe/Brussels|Europe/Bucharest|Europe/Budapest|Europe/Busingen|Europe/Chisinau|Europe/Copenhagen|Europe/Dublin|Europe/Gibraltar|Europe/Guernsey|Europe/Helsinki|Europe/Isle_of_Man|Europe/Istanbul|Europe/Jersey|Europe/Kaliningrad|Europe/Kiev|Europe/Kirov|Europe/Lisbon|Europe/Ljubljana|Europe/London|Europe/Luxembourg|Europe/Madrid|Europe/Malta|Europe/Mariehamn|Europe/Minsk|Europe/Monaco|Europe/Moscow|Europe/Oslo|Europe/Paris|Europe/Podgorica|Europe/Prague|Europe/Riga|Europe/Rome|Europe/Samara|Europe/San_Marino|Europe/Sarajevo|Europe/Saratov|Europe/Simferopol|Europe/Skopje|Europe/Sofia|Europe/Stockholm|Europe/Tallinn|Europe/Tirane|Europe/Ulyanovsk|Europe/Vaduz|Europe/Vatican|Europe/Vilnius|Europe/Volgograd|Europe/Warsaw|Europe/Zagreb|Europe/Zurich|Indian/Antananarivo|Indian/Chagos|Indian/Christmas|Indian/Cocos|Indian/Comoro|Indian/Kerguelen|Indian/Mahe|Indian/Maldives|Indian/Mauritius|Indian/Mayotte|Indian/Reunion|Pacific/Apia|Pacific/Auckland|Pacific/Bougainville|Pacific/Chatham|Pacific/Easter|Pacific/Efate|Pacific/Enderbury|Pacific/Fakaofo|Pacific/Fiji|Pacific/Funafuti|Pacific/Galapagos|Pacific/Gambier|Pacific/Guadalcanal|Pacific/Guam|Pacific/Honolulu|Pacific/Kiritimati|Pacific/Kosrae|Pacific/Kwajalein|Pacific/Majuro|Pacific/Marquesas|Pacific/Midway|Pacific/Nauru|Pacific/Niue|Pacific/Norfolk|Pacific/Noumea|Pacific/Pago_Pago|Pacific/Palau|Pacific/Pitcairn|Pacific/Ponape|Pacific/Port_Moresby|Pacific/Rarotonga|Pacific/Saipan|Pacific/Tahiti|Pacific/Tarawa|Pacific/Tongatapu|Pacific/Truk|Pacific/Wake|Pacific/Wallis
apps.detail.config.value
Europe/Vienna
User ID (PUID)Variable

User-ID JDownloader runs as. Default 99 (nobody on Unraid).

apps.detail.config.target
PUID
apps.detail.config.default
99
apps.detail.config.value
99
Group ID (PGID)Variable

Group-ID. Default 100 (users on Unraid).

apps.detail.config.target
PGID
apps.detail.config.default
100
apps.detail.config.value
100
UMASKVariable

Permission mask for newly created files.

apps.detail.config.default
022|000|002|077
apps.detail.config.value
022
UI Scale (JD_UI_SCALE)Variable

Optional HiDPI scaling for the whole JDownloader UI (e.g. 1.5 or 2). Leave empty for 1x. On a streamed Selkies desktop, zooming the browser upscales the video stream and blurs the text; setting JD_UI_SCALE instead renders the UI larger at full pixel density, so text stays crisp at the desktop's native resolution with the browser at 100%. Restart the container after changing it.

apps.detail.config.target
JD_UI_SCALE