Home
Softono
Aria2-Pro-Docker

Aria2-Pro-Docker

Open source MIT Dockerfile
3.7K
Stars
406
Forks
63
Issues
22
Watchers
2 years
Last Commit

About Aria2-Pro-Docker

Aria2 Pro Docker is a ready-to-use Aria2 Docker image designed for effortless downloading. It works out of the box across multiple platforms including amd64, i386, arm64, arm/v7, and arm/v6 architectures. It supports a full range of Aria2 features including Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS, Message Digest, Metalink, XML-RPC, and SFTP. The image enables unlimited max-connection-per-server, automatic retry on slow speeds or dropped connections, and optimized BT download performance. It auto-fetches BitTorrent trackers, removes failed or canceled downloads and temporary .aria2 and .torrent files, and preserves task progress to prevent lost or repeated downloads. Deployment is simple via Docker CLI or Docker Compose, with optional pairing with AriaNg WebUI for browser-based management. Persistent configuration and downloads are managed through mounted volumes. The container is suitable for home servers, NAS devices, and self-hosted environments including UNRAID and Synology DSM.

Platforms

Web Self-hosted Docker

Languages

Dockerfile

English | 中文

Aria2 Pro Docker

LICENSE GitHub Stars GitHub forks Docker Stars Docker Pulls GitHub Workflow Status

A perfect Aria2 Docker image. Out of the box, just add download tasks and don't need to think about anything else.

Features

  • Supported platforms: amd64, i386, arm64, arm/v7, arm/v6
  • Full Function: Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS, Message Digest, Metalink, XML-RPC, SFTP
  • max-connection-per-server unlimited.
  • retry on slow speed (lowest-speed-limit) and connection close
  • High BT download rate and speed
  • Get BitTorrent tracker automatically
  • Download error automatically delete files
  • Download cancel automatically delete files
  • Automatically clear .aria2 suffix files
  • Automatically clear .torrent suffix files
  • No lost task progress, no repeated downloads
  • And more powerful features

Usage

Docker CLI

  • No matter what architecture platform is used, just use the following command to start the container ( Just need to replace the <TOKEN> field ):

    docker run -d \
      --name aria2-pro \
      --restart unless-stopped \
      --log-opt max-size=1m \
      -e PUID=$UID \
      -e PGID=$GID \
      -e UMASK_SET=022 \
      -e RPC_SECRET=<TOKEN> \
      -e RPC_PORT=6800 \
      -p 6800:6800 \
      -e LISTEN_PORT=6888 \
      -p 6888:6888 \
      -p 6888:6888/udp \
      -v $PWD/aria2-config:/config \
      -v $PWD/aria2-downloads:/downloads \
      p3terx/aria2-pro
  • Then you need a WebUI for control, such as AriaNg. This link is provided by the developer and can be used directly. Or use Docker to deploy it yourself:

    docker run -d \
      --name ariang \
      --log-opt max-size=1m \
      --restart unless-stopped \
      -p 6880:6880 \
      p3terx/ariang

TIPS: It is important for the firewall to open ports.

Docker Compose

  • Download Compose file

    wget git.io/aria2-pro.yml
  • Edit Compose file

    vim aria2-pro.yml
  • Compose up

    docker-compose -f aria2-pro.yml up -d

Other

Parameters

Parameter Function
-e PUID=$UID
-e PGID=$GID
Bind UID and GID to the container, which means you can use a non-root user to manage downloaded files.
-e UMASK_SET=022 For umask setting of Aria2, optional , default if left unset is 022
-e RPC_SECRET=<TOKEN> Set RPC secret authorization token. Default: P3TERX
-e RPC_PORT=6800 Set RPC listen port.
-p 6800:6800 bind RPC listen port.
-e LISTEN_PORT=6888 Set TCP/UDP port number for BitTorrent/DHT listen.
-p 6888:6888 Bind BT listen port (TCP).
-p 6888:6888/udp Bind DHT lisen port (UDP).
-v <PATH>:/config Contains all relevant configuration files.
-v <PATH>:/downloads Location of downloads on disk.
-e DISK_CACHE=<SIZE> Set up disk cache. SIZE can include K or M (1K = 1024, 1M = 1024K), e.g 64M.
-e IPV6_MODE=<BOOLEAN> Whether to enable IPv6 support for Aria2. Optional: true or false. Set the options disable-ipv6=false and enable-dht6=true in the configuration file(aria2.conf).
-e UPDATE_TRACKERS=<BOOLEAN> Whether to update BT Trackers List automatically. Optional: true or flase, default if left unset is true
-e CUSTOM_TRACKER_URL=<URL> Custom BT Trackers List URL. If not set, it will be get from https://trackerslist.com/all_aria2.txt.
-e TZ=Asia/Shanghai Specify a timezone to use e.g. Asia/Shanghai

Advanced

I am working hard on my English, so this part may be explained in detail later. If you can read Chinese, read the details in my blog.

Credits

License

MIT © P3TERX