Aria2c einrichten per Docker

aria2c März 05, 2019

Hallo zusammen,

Ich bin es mal wieder. Vergangenen Monat hatte ich eine Anleitung veröffentlicht wo ich via init.d Script Aria2c als Dämon laufen ließ.Nun das gleiche aber per Docker Container. Das hat einmal den Vorteil das es stabiler läuft und das die gleiche Konfiguration immer wieder gestartet werden kann nach einem Reboot, Reset des Servers. Installiert, wenn nicht schon längst geschehen, Docker auf eurem Server. Das geschieht mit

apt install docker.io

Nun können wir den Container aufsetzen. Wir setzen Aria2c auf samt Webui, worüber wir zugreifen können um Dateien herunterzuladen. Um Aria2c nun zu installieren gebt folgenden Befehl ein:

sudo docker run -d --name aria2-with-webui --restart=always -p 6800:6800 -p 6880:80 -p 6888:8080 -v /var/aria2c/data:/data -v /var/aria2c/conf:/conf  xujinkai/aria2-with-webui

Anschliessend ist die Web UI über http://domain.tld:6880 aufrufbar. Da ich die Web-UI selten besuchen werde, blockiere ich per Firewall den Port 6880, damit Fremde nicht drauf zugreifen können. Aria2 bleibt weiterhin erreichbar für den OcDownloader. Denn da brauchen wir den Port 6800. Nun loggen wir uns ein bei Nextcloud oder Owncloud und gehen in die Einstellungen. Unter weitere Einstellungen geben wir bei den Ocdownloader Einstellungen nun folgendes ein. Adresse: http://127.0.0.1 Port: 6800. Danach ist der Downloadmanager voll funktionsfähig und wir können beispielsweise Torrent Dateien darüber herunterladen und zu seeden. Viel Spass damit, falls ihr andere Ideen haben solltet, immer her damit. ?

Setup via Docker Compose

Falls noch nicht installiert, installiert zuerst Docker-compose.

apt install docker-compose 

Erstellt nun ein Compose File:

sudo vi docker-compose.yml
aria2:
    container_name: Aria2
    image: abcminiuser/docker-aria2-with-webui:latest-ng
    ports:
      - 6800:6800
      - 6880:80
    volumes:
      - /mnt/Download/complete:/data
      - /mnt/aria2:/conf
    environment:
      - PGID=1003
      - PUID=10000
    restart: always

Erstellt nun die Verzeichnisse, wenn nicht bereits vorhanden und gebt dem gleichen User Schreib und Leserechte wie in dem File angegeben. Dann startet ihr den Container.

docker-compose up -d

Der Container läuft ab sofort im Hintergrund und ist einsatzbereit. Aria2c ist erreichbar über den Port 6800, das Webinterface über Port 6880.

Update 25.10.2019

Nach ein bisschen Testen, habe ich, eine für mich funktioniernde Lösung gefunden. Ich setze aktuell auf ein Custom Nextcloud Image. Dem eigentlichen Image von Nextcloud wird etwas hinzugefügt. dies Geschieht mit einem Dockerfile.

FROM nextcloud:latest
  
RUN apt-get update && apt-get -y install apt-utils curl 
RUN curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl && chmod a+rx /usr/local/bin/youtube-dl
RUN apt-get -y install aria2 python
RUN apt install sudo 
RUN sudo -u www-data aria2c --enable-rpc --rpc-allow-origin-all -c -D --check-certificate=false 
RUN apt-get -y install ruby-redis memcached coturn
copy turnserver.conf /etc/turnserver.conf
RUN echo "TURNSERVER_ENABLED=1" >> /etc/default/coturn && service coturn restart
RUN apt -y install ffmpeg imagemagick ghostscript

Als Root auf dem Hostsystem folgendes in das Crontab File eintragen.

/usr/bin/docker exec <nextcloud-container-id> 
sudo -u www-data aria2c --enable-rpc --rpc-allow-origin-all -c -D --check-certificate=false

Das passende Nextcloud Docker-compose File sowie die benötigten Unterordner findet ihr bald hier zum Download.
Quelle: github.com

Kaffeespende

Comments powered by Talkyard.

Großartig! Das Abonnement wurde erfolgreich abgeschlossen.
Großartig! Schließen Sie als Nächstes die Kaufabwicklung ab, um vollen Zugriff zu erhalten.
Willkommen zurück! Sie haben sich erfolgreich angemeldet.
Erfolg! Ihr Konto ist vollständig aktiviert, Sie haben jetzt Zugang zu allen Inhalten.