#!/bin/sh echo "--- Starte JDownloader (JLesage Wrapper) ---" # 1. ORDNERSYSTEM ANPASSEN # Das Image nutzt /config für Einstellungen. Wir biegen das auf /data um, # damit Einstellungen erhalten bleiben. # Wenn /config ein echter Ordner ist (und kein Link), verschieben wir den Inhalt nach /data # (nur beim allerersten Start relevant) if [ ! -L "/config" ]; then echo "Richte persistente Konfiguration ein..." cp -rn /config/* /data/ 2>/dev/null rm -rf /config ln -s /data /config fi # Berechtigungen korrigieren (jlesage nutzt user app:1000) # Wir müssen sicherstellen, dass der User 'app' auf /data schreiben darf chown -R 1000:1000 /data # 2. DOWNLOAD ORDNER ANPASSEN # Das Image nutzt /output. Wir biegen das auf /share/downloads um. mkdir -p /share/downloads if [ -d "/output" ] && [ ! -L "/output" ]; then rm -rf /output fi if [ ! -L "/output" ]; then ln -s /share/downloads /output fi # Schreibrechte für Share sicherstellen chmod 777 /share/downloads # 3. ZUGANGSDATEN INJIZIEREN (Optional) EMAIL=$(jq --raw-output '.myjd_email // empty' /data/options.json) PASS=$(jq --raw-output '.myjd_password // empty' /data/options.json) DEVICE=$(jq --raw-output '.device_name' /data/options.json) DARK_MODE=$(jq --raw-output '.dark_mode' /data/options.json) CFG_FILE="/data/cfg/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json" mkdir -p /data/cfg # Nur wenn Email UND Passwort ausgefüllt sind, schreiben wir die Config if [ ! -z "$EMAIL" ] && [ ! -z "$PASS" ]; then echo "Setze MyJDownloader Zugangsdaten..." cat < "$CFG_FILE" { "email" : "$EMAIL", "password" : "$PASS", "devicename" : "$DEVICE", "autoconnectenabledmanual" : true } EOF # Wichtig: Datei muss dem Container-User gehören! chown 1000:1000 "$CFG_FILE" fi # 4. DARK MODE (Optional) # Setze Environment Variable für das jlesage Image if [ "$DARK_MODE" = "true" ]; then export DARK_MODE=1 else export DARK_MODE=0 fi # 5. STARTEN # Wir rufen das originale Init-System des Containers auf echo "Übergabe an jlesage init..." exec /init