name: jdownloader2
services:
  jdownloader2:
    image: jlesage/jdownloader-2:latest
    restart: unless-stopped
    x-casaos:
      volumes:
        - container: /config
          description:
            en_us: Configs
            zh_cn: 配置
        - container: /output
          description:
            en_us: Downloads
            zh_cn: 下载
      envs:
        - container: TZ
          description:
            en_us: TimeZone
            zh_cn: 时区
        - 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.
            zh_cn: 应用程序运行的用户的ID。查看用户/组ID以更好地理解何时应设置此值。
        - 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.
            zh_cn: 应用程序运行的组的ID。查看用户/组ID以更好地理解何时应设置此值。
        - 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.
            zh_cn: 用于MyJDownloader帐户的电子邮件地址。请注意，这也可以通过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.
            zh_cn: 用于MyJDownloader帐户的密码。请注意，这也可以通过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.
            zh_cn: 此JDownloader实例的名称。请注意，这也可以通过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.
            zh_cn: 当设置为1时，JDownloader以无界面模式运行，意味着没有GUI可用。在此模式下，应使用MyJDownloader来远程控制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.
            zh_cn: 通过Web界面访问应用程序GUI的端口。如果不想通过Web界面访问，则将其映射到主机是可选的。对于未使用默认桥接网络的容器，可以使用WEB_LISTENING_PORT环境变量更改端口。
        - 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.
            zh_cn: 通过VNC协议访问应用程序GUI的端口。如果不想通过VNC协议访问，则将其映射到主机是可选的。对于未使用默认桥接网络的容器，可以使用VNC_LISTENING_PORT环境变量更改端口。
        - 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)."
            zh_cn: MyJDownloader移动应用程序和浏览器扩展使用的端口，用于与JDownloader Docker容器实例建立直接连接。仅在启用并配置了直接连接模式的情况下，才需要公开端口。注意：由于此端口正在报告给MyJDownloader在线服务，因此在主机端映射的端口必须相同（即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!
    zh_cn: JDownloader是一个免费的、开源的下载管理工具，拥有庞大的社区，使下载变得简单而快速。用户可以启动、停止或暂停下载，设置带宽限制，自动解压缩存档等等。它是一个易于扩展的框架，可以每天节省您宝贵时间的数小时！
  tagline:
    en_us: Free & open-source download management tool
    zh_cn: 免费且开源的下载管理工具
  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
