JDownloader 2 im Docker-Container installieren und perfekt nutzen

JDownloader 2 im Docker-Container installieren und perfekt nutzen

Einleitung

viele von euch kennen und nutzen vielleicht schon den Open-Source Downloadmanager JDownloader 2. Diesen könnt ihr auf eigentlich jedem Betriebssystem installieren und komfortabel nutzen. Vor allem finde ich, dass er durch viele gute Funktionen aus der Masse heraus sticht. Ich selbst nutze ihn auch schon einige Jahre. Begonnen habe ich mit Windows, Mac OS und nun nutze ich ihn auf Linux. Es gibt aber noch ein anderes interessantes Szenario, welches ich euch heute vorstellen möchte.

Es gibt die Möglichkeit JDownloader 2 in einem Docker-Image zu installieren und ihn dann über den Browser zu nutzen. Warum ich das interessant finde? Solltet ihr ggf. eh einen Server in Betrieb haben, dann könnt ihr z. B. ein Netzlaufwerk einbinden und dort dann eure Downloads speichern lassen. Im Anschluss müsst ihr die Dateien ggf. nur noch umsortieren (verschieben). Oder aber ihr gebt die Downloads in eurem Netzwerk per SMB frei. Beides Wege werde ich euch in diesem Tutorial auch zeigen.

Möchtet ihr den Downloadmanager lieber lokal auf eurem System installieren, findet ihr auf der Internetseite des Anbieters den entsprechenden Download für euer System.

Voraussetzungen

  • installiertes Betriebssystem z. B. wie hier gezeigt Ubuntu Server 22.04 (Download KLICK HIER)
  • SSH-Zugang auf euer System
  • und ggf. eine Netzwerkfreigabe, am besten NFS

Installation von JDownloader 2

Zuerst prüfen wir das System auf Updates und ändern die Zeitzone

Loggt euch am besten per SSH auf eurem System ein und gebt folgenden Befehl ein:

apt update && apt upgrade -V && apt dist-upgrade && apt autoremove

Wenn die Updates durchgeführt sind, setzen wir gleich noch die richtige Zeitzone mit diesem Befehl:

timedatectl set-timezone Europe/Berlin

Die ersten Vorbereitungen sind abgeschlossen. Ich würde euch empfehlen, das System vor der weiteren Installation zu rebooten. Gebt dafür einfach “reboot” ein und bestätigt den Befehl mit Enter.

Installation Docker und Docker Compose

Die Installation erledigt ihr mit einem Befehl.

apt install docker.io docker-compose -y

Anlegen der Verzeichnisse

Die beiden Verzeichnisse dienen nur zur Orientierung und können natürlich nach Belieben angepasst werden. Wir legen als Erstes den Hauptordner an.

mkdir /jdownloader

In dem Ordner jdownloader legen wir noch ein Verzeichnis für die Config an.

mkdir /jdownloader/config

Als Letztes brauchen wir noch ein Speicherort für die Downloads. Im ersten Step zeige ich euch, wie ihr den Speicherort lokal anlegt. Ansonsten könnt ihr wie oben auch angesprochen natürlich ein Netzlaufwerk als Speicherort einbinden. Das wäre dann tatsächlich auch meine Empfehlung. Voraussetzung ist, dass ihr z. B. ein NAS habt und auch eine entsprechende Freigabe im Netzwerk vorhanden ist.

Wir beginnen mit dem lokalen Speicherort.

mkdir /jdownloader/downloads

Wechselt jetzt in das Hauptverzeichnis

cd /jdownloader

Legt nun die Docker-Compose Datei an

nano docker-compose.yml

Fügt folgenden Inhalt ein. Wenn ihr andere Verzeichnisse angelegt habt, passt die Config entsprechend eurer Struktur an.

version: "3.3"
services:
  jdownloader-2:
    image: jlesage/jdownloader-2
    ports:
      - "5800:5800"
    volumes:
      - "/jdownloader/config:/config:rw"
      - "/jdownloader/downloads:/output:rw"
    restart: unless-stopped

Speichert die Datei jetzt mit:

  • STRG + O
  • STRG + M
  • und STRG + X ab.

Docker Container starten

Auch hier ist wieder nur ein Befehl notwendig :-).
Achtung! Wenn ihr einen Freigabeordner einbinden oder später freigeben wollt, solltet ihr den Container noch nicht starten.

docker-compose up -d

Docker lädt jetzt das Image herunter und startet den Container. Wenn ihr alles richtig gemacht habt, könnt ihr jetzt JDownloader 2 im Browser aufrufen. Wenn du die IP von deinem System nicht mehr zu Händen hast, kannst du sie dir mit ip a anzeigen lassen.

Gebt im Browser eure IP ein und setzt ein :5800 dahinter. Bei mir sieht es dann z. B. so aus 192.168.1.178:5800

Ihr solltet jetzt euren JDownloader 2 im Browser angezeigt bekommen.

JDownloader 2

Das war es eigentlich auch schon, jetzt könnt ihr noch eure Sprache anpassen und von jedem Endgerät ohne weitere Installation euren Downloadmanager nutzen.

Jetzt stehen wir aber noch vor der Herausforderung, wie man an die Downloads herankommt. Ich möchte euch zwei Wege zeigen, die eine gute Lösung aufzeigen.

Tipp 1
Netzwerkordner im System einbinden

NFS Freigabeordner im Netzwerk anlegen und auf dem System einbinden

Wie eingangs beschrieben, ist es für mich optimal, wenn er die Downloads direkt auf einen freigegebenen Ordner im Netzwerk abspeichert. Dafür müssen wir aber einen kleinen Umweg gehen und ein wenig was installieren und konfigurieren.

Wichtig! Für eine optimale Zusammenarbeit mit Docker und eurer Freigabe solltet ihr wirklich NFS nutzen. Ich hatte eingangs für das Tutorial den Versuch mit einer SMB Einbindung gestartet, welche aber hier nicht richtig lief.

In meinem Bsp. nutze ich ein QNAP NAS. Als Erstes lege ich mir einen Freigabeordner an, welcher im Anschluss als Downloadordner dienen soll. Bei QNAP wird der Ordner unter Speicher und Snapshots angelegt.

Für das Tutorial nutze ich den Speicherpool 2 und lege mir den Ordner Jdownloads an. Auch wenn der Name relativ lang ist, dient er mir später zur besseren Orientierung auf meinem NAS.

Solltet ihr auf eurem System NFS noch nicht aktiviert haben, dann muss das noch erledigt werden. Bei mir sieht das so aus. Für Leser mit einem QNAP NAS, kann ich die Anleitung hier empfehlen.

Vorbereitung auf unserem System

Wechselt wieder zu eurem Server und installiert NFS-Common

apt-get update && apt-get upgrade -V && apt-get dist-upgrade && apt-get autoremove
sudo apt install nfs-common

Nun wollen wir das Netzlaufwerk dauerhaft einbinden. Wo ihr genau das Laufwerk dauerhaft einpflegt, ist euch überlassen. Wir nutzen jetzt die schon zuvor angelegten Ordner. Ihr könnt natürlich z. B. auch den vorhandenen /mnt oder /media Ordner nutzen.

Passt folgendes auf eurem Server und eurer Ordnerstruktur an und kopiert euch den Inhalt

eure_ip_zum_NAS:/NAS_Ordner /jdownloader/downloads nfs rw

Um sicherzustellen, dass er eure Freigabe nach jedem Neustart auch immer wieder richtig gesetzt wird, tragen wir den alles in die fstab ein.

nano /etc/fstab

So sollte der Eintrag dann aussehen, aber natürlich mit den von euch angepassten Daten.

Speichert die Datei mit

  • STRG + O
  • STRG + M
  • und STRG + X ab.

Jetzt mounten wir manuell unser Laufwerk. So testen wir auch gleich, ob wir alles richtig konfiguriert haben.

 sudo mount -a

Wenn ihr nach der Eingabe des Befehls keine Fehlermeldung erhalten habt, hat alles geklappt. Wenn ihr aber ganz sicher gehen möchtet, könnt ihr das Ganze auch noch mal mit:

df -h

überprüfen.

Jetzt starten wir unseren Container.

docker-compose up -d

So, dann haben wir das auch schon geschafft. Wie ich finde ein kleiner Umweg mit großen Nutzen.

Tipp 2
Ordner im Netzwerk freigeben

Der zweite Weg, den ich euch zeigen möchte, ist genau andersherum. Wir speichern die Downloads nicht in einem Netzwerkordner, sondern geben unseren Ordner im Netzwerk frei.

Installation des Samba-Servers 

Prüft euer System zur Sicherheit noch mal auf Updates und installiert Samba

apt-get update && apt-get upgrade -V && apt-get dist-upgrade && apt-get autoremove
apt-get install samba-common samba

Benutzer anlegen

Für mein Tutorial lege ich den User “jdownloader“ an. Der Benutzer wird nur vom System verwendet, um auf Samba-Freigaben zuzugreifen. Aus diesem Grund legen wir kein Homeverzeichnis an und der Login am System wird deaktiviert. Die weiteren Abfragen können einfach mit Enter übersprungen werden.

sudo adduser --no-create-home --disabled-login --shell /bin/false jdownloader

vergebt ein Passwort für euren Benutzer

smbpasswd -a jdownloader

zum Schluss geben wir den Benutzer noch Besitzrechte an unserem Ordner. Auch bei dieser Variante nutzen wir wieder die oben angelegten Ordner.

chown -R jdownloader /jdownloader/downloads

Einrichten der Freigabe

Öffnet die

nano /etc/samba/smb.conf

Ändert die vorhandenen Einträge wie folgt ab:

map to guest = never
security = user
encrypt passwords = true

und fügt ganz unten folgenden Inhalt ein:

[jdownloads]
valid users = jdownloader
path = /jdownloader/downloads
guest ok = no
writeable = yes

Speichert alles mit:

  • STRG + O
  • STRG + M
  • und STRG + X ab.

Zum Abschluss starten wir unseren SMB Server noch neu. Sollte euer Server nicht gleich gefunden werden, kann es auch helfen, das System einfach komplett zu rebooten.

service smbd restart

Test des Zugriffs

Testen wir das Ganze in Windows noch mal. Gebt im Explorer eure Server ip ein.
Bei mir lautet sie \\192.168.55.115 ihr werdet jetzt nach euren Zugangsdaten gefragt. Gebt diese ein und schon seit ihr eingeloggt und könnt eure Downloads von jedem Endgerät in eurem Netzwerk verwalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Cookie Consent mit Real Cookie Banner