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.
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.