aria2 Docker Compose + AriaNg 24/7 Download-Server
Bauen Sie einen hochperformanten, rund um die Uhr laufenden Headless-Download-Server mit dem modernen AriaNg Web-Dashboard, automatischen BitTorrent-Trackern und NAS-Speicher.
1. Die 3-stufige Container-Architektur
Eine produktive aria2 Docker-Umgebung besteht aus drei Komponenten in schlanken Alpine-Containern:
1. Core-Engine (aria2-pro)
Erweiterter Daemon mit RAM-Cache, Multi-Protokoll-Unterstützung (HTTP, FTP, BitTorrent) und WebSocket JSON-RPC auf Port 6800.
2. Auto-Tracker-Sync
Hintergrunddienst, der alle 24h frische BitTorrent-Tracker von GitHub lädt, um 0 KB/s Hänger zu vermeiden.
3. AriaNg WebUI
Reaktionsschnelles Web-Dashboard auf Port 6880 zur komfortablen Steuerung per PC, Tablet oder Smartphone.
2. Produktionsreife docker-compose.yml
Speichern Sie die folgende Konfiguration als docker-compose.yml in Ihrem Projektordner (z. B. /opt/aria2/ oder /volume1/docker/aria2/):
version: '3.8'
services:
aria2-pro:
container_name: aria2-pro
image: p3terx/aria2-pro:latest
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 10m
max-file: "3"
environment:
- PUID=1000
- PGID=1000
- RPC_SECRET=YourSuperSecureToken99! # Ersetzen Sie dies durch ein sicheres Passwort
- RPC_PORT=6800
- LISTEN_PORT=6888
- TRACKERS_AUTO_UPDATE=true # Täglich frische BT Tracker laden
- DISK_CACHE=64M # RAM-Cache zum Schutz der Festplatten
- IPV6_MODE=false # Bei nativem IPv6 auf true setzen
- TZ=UTC
volumes:
- ./aria2-config:/config # Konfigurations- und Sitzungsverzeichnis
- ./downloads:/downloads # Download-Zielverzeichnis
ports:
- "6800:6800" # RPC WebSocket / HTTP API
- "6888:6888" # BitTorrent TCP peer discovery
- "6888:6888/udp" # BitTorrent DHT UDP peer discovery
ariang:
container_name: ariang
image: p3terx/ariang:latest
restart: unless-stopped
ports:
- "6880:6880" # WebUI Dashboard
depends_on:
- aria2-pro
Wichtige Umgebungsvariablen im Überblick:
PUID / PGID: Setzt Dateiberechtigungen so, dass Medienserver (Plex, Jellyfin, Sonarr, Radarr, Samba) problemlos zugreifen können.DISK_CACHE=64M: Puffert Schreibzugriffe im RAM, schont mechanische Festplatten und SSDs.LISTEN_PORT=6888: Port für eingehende BitTorrent-Verbindungen.6888 TCP/UDPam Router freigeben.
3. Plattform-spezifische Installationsanleitungen
A. Linux-Server (Ubuntu / Debian / AlmaLinux / Raspberry Pi)
Verzeichnisse anlegen, Berechtigungen setzen und Stack starten:
mkdir -p /opt/aria2/{aria2-config,downloads}
cd /opt/aria2
# Copy docker-compose.yml into /opt/aria2/
sudo chown -R 1000:1000 /opt/aria2
docker compose up -d
B. Synology NAS (DSM 7.2+ Container Manager)
- Erstellen Sie in der File Station:
/docker/aria2/configund/volume1/downloads. - Öffnen Sie Container Manager → Projekt → Erstellen.
- Projektname:
aria2, Pfad:/docker/aria2, Quelle: docker-compose.yml erstellen. - Fügen Sie den Compose-Code ein und klicken Sie auf Fertig.
C. QNAP Container Station & Unraid
In QNAP Container Station unter Anwendungen → Erstellen einfügen. In Unraid das Compose-Plugin nutzen.
4. Sicherer Fernzugriff mit HTTPS Reverse Proxy
Bei HTTPS-Zugriff auf AriaNg blockiert der Browser unverschlüsselte Verbindungen zu Port 6800 (Mixed Content). Richten Sie einen SSL-Reverse-Proxy mit WSS ein:
server {
listen 443 ssl http2;
server_name aria2.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# 1. Route WebUI Frontend
location / {
proxy_pass http://127.0.0.1:6880;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# 2. Route JSON-RPC Secure WebSocket (WSS)
location /jsonrpc {
proxy_pass http://127.0.0.1:6800/jsonrpc;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 86400;
}
}
5. Automatisierung nach dem Download (Rclone / Entpacken)
aria2 unterstützt Event-Hooks über on-download-complete, um Dateien automatisch auf Cloud-Speicher hochzuladen oder Archive zu entpacken:
Funktionsweise der Hooks:
In ./aria2-config/clean.sh übergibt aria2 3 Parameter: $1 (GID), $2 (Dateianzahl), $3 (Pfad).
6. Fehlerbehebung & Diagnose (FAQ)
Q1: Wie kann ich Live-Logs einsehen?
Führen Sie docker compose logs -f aria2-pro aus, um Verbindungen und Tracker-Updates in Echtzeit zu verfolgen.
Q2: BitTorrent lädt mit 0 KB/s oder DHT zeigt 0 Nodes?
Lösung: Prüfen Sie, ob 6888 UDP im Router weitergeleitet ist, und aktualisieren Sie Tracker über unseren Tracker-Hub.
Q3: "AriaNg disconnected" oder RPC-Verbindung fehlgeschlagen?
Lösung: Prüfen Sie in den AriaNg-Einstellungen, ob Host, Port (6800) und RPC_SECRET exakt übereinstimmen.