2026-05-18 15:38:20 -04:00
## 👋 Welcome to aria2 🚀
2022-10-19 17:47:59 -04:00
2026-05-18 15:38:20 -04:00
A self-contained Docker image running **aria2c ** (multi-protocol download daemon) with the **AriaNg ** web UI served by **nginx ** . Supports HTTP/HTTPS, FTP, BitTorrent, Metalink, and WebSocket RPC.
---
## 🚀 Quick start
2022-10-19 17:47:59 -04:00
```shell
2025-05-13 16:22:29 -04:00
docker run -d \
2026-05-18 15:38:20 -04:00
--restart always \
--name casjaysdevdocker-aria2 \
--hostname aria2 \
-e TZ=${TIMEZONE:-America/New_York} \
-v /srv/docker/aria2/config:/config:z \
-v /srv/docker/aria2/data:/data:z \
-p 80:80 \
-p 6800:6800 \
-p 6888:6888 \
casjaysdevdocker/aria2:latest
2025-05-13 16:22:29 -04:00
```
2026-05-18 15:38:20 -04:00
Open `http://localhost` to access the AriaNg web interface.
---
## 🐳 docker-compose
2025-05-13 16:22:29 -04:00
```yaml
version: "2"
services:
2026-05-18 15:38:20 -04:00
aria2:
image: casjaysdevdocker/aria2:latest
2025-05-13 16:22:29 -04:00
container_name: casjaysdevdocker-aria2
2026-05-18 15:38:20 -04:00
hostname: aria2
restart: always
2025-05-13 16:22:29 -04:00
environment:
- TZ=America/New_York
volumes:
2026-05-18 15:38:20 -04:00
- /srv/docker/aria2/config:/config:z
- /srv/docker/aria2/data:/data:z
2025-05-13 16:22:29 -04:00
ports:
2026-05-18 15:38:20 -04:00
- 80:80 # AriaNg web UI + proxied RPC
- 6800:6800 # aria2c direct JSON-RPC / WebSocket
- 6888:6888 # BitTorrent peer / DHT
2022-10-19 17:47:59 -04:00
```
2026-05-18 15:38:20 -04:00
---
## 🔧 Environment variables
| Variable | Default | Description |
|---|---|---|
| `TZ` | `America/New_York` | Container timezone |
| `RPC_PORT` | `6800` | aria2c RPC listen port |
| `RPC_SECRET` | _ (unset) _ | aria2c RPC secret token (blank = no auth) |
| `CUSTOM_TRACKER_URL` | _ (unset) _ | URL to fetch fresh BT tracker list (P3TERX format) |
---
## 📁 Volumes
| Path | Purpose |
|---|---|
| `/config` | User-editable config — `aria2/aria2.conf` , `aria2/aria2.session` , `nginx/nginx.conf` , AriaNg client config |
| `/data` | Downloads at `/data/downloads/aria2/` ; logs at `/data/logs/{aria2,nginx}/` |
Seeded on first run from the image defaults. Edit `/config/aria2/aria2.conf` to tune aria2c; restart the container to apply.
---
## 🌐 Ports
| Port | Protocol | Purpose |
|---|---|---|
| `80` | TCP | AriaNg web UI (nginx); also proxies `/jsonrpc` and `/rpc` to aria2c |
| `6800` | TCP | aria2c JSON-RPC / WebSocket (direct, bypasses nginx) |
| `6888` | TCP/UDP | BitTorrent peer connections and DHT |
---
## 🔨 Build from source
2022-10-19 17:47:59 -04:00
```shell
git clone "https://github.com/casjaysdevdocker/aria2" "$HOME/Projects/github/casjaysdevdocker/aria2"
cd "$HOME/Projects/github/casjaysdevdocker/aria2"
2026-05-18 15:38:20 -04:00
# pre-bundle AriaNg (required before buildx — GitHub SSL is blocked inside the sandbox)
mkdir -p rootfs/tmp/ariang-src
curl -fsSL -o rootfs/tmp/ariang-src/AriaNg-1.3.13.zip \
https://github.com/mayswind/AriaNg/releases/download/1.3.13/AriaNg-1.3.13.zip
buildx
2022-10-19 17:47:59 -04:00
```
2026-05-18 15:38:20 -04:00
---
## 👤 Authors
🤖 casjay: [Github ](https://github.com/casjay ) 🤖
⛵ casjaysdevdocker: [Github ](https://github.com/casjaysdevdocker ) [Docker ](https://hub.docker.com/u/casjaysdevdocker ) ⛵