name: jdownloader2
services:
  jdownloader2:
    image: jlesage/jdownloader-2:latest
    restart: unless-stopped
    x-casaos:
      volumes:
        - container: /config
          description:
            en_us: Configs
        - container: /output
          description:
            en_us: Downloads
      envs:
        - container: TZ
          description:
            en_us: TimeZone
        - container: USER_ID
          description:
            en_us: ID of the user the application runs as. See User/Group IDs to better understand when this should be set.
        - container: GROUP_ID
          description:
            en_us: ID of the group the application runs as. See User/Group IDs to better understand when this should be set.
        - container: MYJDOWNLOADER_EMAIL
          description:
            en_us: Email address of the MyJDownloader account to use. Note that this can also be configured via the JDownloader GUI.
        - container: MYJDOWNLOADER_PASSWORD
          description:
            en_us: Password of the MyJDownloader account to use. Note that this can also be configured via the JDownloader GUI.
        - container: MYJDOWNLOADER_DEVICE_NAME
          description:
            en_us: The name of this JDownloader instance. Note that this can also be configured via the JDownloader GUI.
        - container: JDOWNLOADER_HEADLESS
          description:
            en_us: When set to 1, JDownloader is running in headless mode, meaning that no GUI is available. In this mode, MyJDownloader should be used to remote control JDownloader.
      ports:
        - container: "5800"
          description:
            en_us: Port to access the application's GUI via the web interface. Mapping to the host is optional if access through the web interface is not wanted. For a container not using the default bridge network, the port can be changed with the WEB_LISTENING_PORT environment variable.
        - container: "5900"
          description:
            en_us: Port to access the application's GUI via the VNC protocol. Mapping to the host is optional if access through the VNC protocol is not wanted. For a container not using the default bridge network, the port can be changed with the VNC_LISTENING_PORT environment variable.
        - container: "3129"
          description:
            en_us: "Port used by MyJDownloader mobile applications and browser extensions to establish a direct connect to the JDownloader Docker container instance. Port needs to be exposed only if MyJDownloader is enabled and configured in Direct Connection mode. NOTE: Since this port is being reported to the MyJDownloader online service, the port mapped on the host side must be the same (i.e. 3129)."
    environment:
      - USER_ID=$PUID
      - GROUP_ID=$PGID
      - TZ=$TZ
      - MYJDOWNLOADER_EMAIL=$MYJDOWNLOADER_EMAIL
      - MYJDOWNLOADER_PASSWORD=$MYJDOWNLOADER_PASSWORD
      - MYJDOWNLOADER_DEVICE_NAME=$MYJDOWNLOADER_DEVICE_NAME
      - JDOWNLOADER_HEADLESS=$JDOWNLOADER_HEADLESS
    ports:
      - target: 5800
        published: "5800"
        protocol: tcp
      - target: 5900
        published: "5900"
        protocol: tcp
      - target: 3129
        published: "3129"
        protocol: tcp
    volumes:
      - type: bind
        source: /DATA/AppData/jdownloader2/config
        target: /config
      - type: bind
        source: /DATA/Downloads
        target: /output
    container_name: jdownloader2
x-casaos:
  architectures:
    - amd64
    - arm64
  main: jdownloader2
  description:
    en_us: JDownloader is a free, open-source download management tool with a huge community that makes downloading as easy and fast as it should be. Users can start, stop or pause downloads, set bandwith limitations, auto-extract archives and much more. It's an easy-to-extend framework that can save hours of your valuable time every day!
  tagline:
    en_us: Free & open-source download management tool
  developer: jdownloader
  icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/JDownloader2/icon.png
  screenshot_link:
    - https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/JDownloader2/screenshot-1.jpg
    - https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/JDownloader2/screenshot-2.jpg
  author: Fabio Tea
  category: Utilities
  port_map: "5800"
  scheme: http
  store_app_id: jdownloader2
  title:
    en_us: JDownloader2
