Zum Hauptinhalt springen

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/):

# docker-compose.yml
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/UDP am 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)

  1. Erstellen Sie in der File Station: /docker/aria2/config und /volume1/downloads.
  2. Öffnen Sie Container ManagerProjektErstellen.
  3. Projektname: aria2, Pfad: /docker/aria2, Quelle: docker-compose.yml erstellen.
  4. 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:

# Nginx Reverse Proxy with WSS Support
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.