Ein automatischer Downloader für Soulseek, erstellt mit Soulseek.NET. Akzeptiert CSV-Dateien sowie Spotify- und YouTube-URLs. Unterstützt das Herunterladen von Wiedergabelisten und Alben; wählt die besten Dateien entsprechend den vom Benutzer konfigurierten Dateibedingungen und Heuristiken aus.
A url, search string, or path to a local CSV file.
Run --help "input" to view the accepted inputs.
Can also be passed with -i, --input
--user Soulseek username
--pass Soulseek password
Allgemeine Optionen
Max concurrent downloads (default: 2)
--write-playlist Create an m3u playlist file in the output directory
--playlist-path Override default path for m3u playlist file
--no-skip-existing Do not skip downloaded tracks
--no-write-index Do not create a file indexing all downloaded tracks
--index-path Override default path for sldl index
--skip-check-cond Check file conditions when skipping existing files
--skip-check-pref-cond Check preferred conditions when skipping existing files
--skip-music-dir Also skip downloading tracks found in a music library by
comparing filenames. Not 100% reliable.
--skip-not-found Skip searching for tracks that weren't found on Soulseek
during the last run.
--listen-port Port for incoming connections (default: 49998)
--on-complete Run a command whenever a file is downloaded.
Available placeholders: {path} (local save path), {title},
{artist},{album},{uri},{length},{failure-reason},{state}.
Prepend a state number to only run in specific cases:
1:, 2:, 3:, 4: for the Downloaded, Failed, Exists, and
NotFoundLastTime states respectively.
E.g: '1:' will only run the command if the file is
downloaded successfully. Prepend 's:' to use the system
shell to execute the command.
--print
Suchoptionen
Number of fails to downrank a user's shares (default: 1)
--fails-to-ignore Number of fails to ban/ignore a user's shares (default: 2)
--yt-dlp Use yt-dlp to download tracks that weren't found on
Soulseek. yt-dlp must be available from the command line.
--yt-dlp-argument The command line arguments when running yt-dlp. Default:
"{id}" -f bestaudio/best -cix -o "{savepath}.%(ext)s"
Available vars are: {id}, {savedir}, {savepath} (w/o ext).
Note that -x causes yt-dlp to download webms in case ffmpeg
is unavailable.
--search-timeout Max search time in ms (default: 6000)
--max-stale-time Max download time without progress in ms (default: 50000)
--searches-per-time Max searches per time interval. Higher values may cause
30-minute bans, see --help "search". (default: 34)
--searches-renew-time Controls how often available searches are replenished.
See --help "search". (default: 220)">
--fast-search Begin downloading as soon as a file satisfying the preferred
conditions is found. Only for normal download mode.
--remove-ft Remove 'feat.' and everything after before searching
--no-remove-special-chars Do not remove special characters before searching
--remove-brackets Remove square brackets and their contents before searching
--regex Remove a regexp from all track titles and artist names.
Optionally specify a replacement regex after a semicolon.
Add 'T:', 'A:' or 'L:' at the start to only apply this to
the track title, artist, or album respectively.
--artist-maybe-wrong Performs an additional search without the artist name.
Useful for sources like SoundCloud where the "artist"
could just be an uploader. Note that when downloading a
YouTube playlist via url, this option is set automatically
on a per-track basis, so it is best kept off in that case.
-d, --desperate Tries harder to find the desired track by searching for the
artist/album/title only, then filtering. (slower search)
--fails-to-downrank Number of fails to downrank a user's shares (default: 1)
--fails-to-ignore Number of fails to ban/ignore a user's shares (default: 2)
--yt-dlp Use yt-dlp to download tracks that weren't found on
Soulseek. yt-dlp must be available from the command line.
--yt-dlp-argument The command line arguments when running yt-dlp. Default:
"{id}" -f bestaudio/best -cix -o "{savepath}.%(ext)s"
Available vars are: {id}, {savedir}, {savepath} (w/o ext).
Note that -x causes yt-dlp to download webms in case ffmpeg
is unavailable.
--search-timeout Max search time in ms (default: 6000)
--max-stale-time Max download time without progress in ms (default: 50000)
--searches-per-time Max searches per time interval. Higher values may cause
30-minute bans, see --help "search". (default: 34)
--searches-renew-time Controls how often available searches are replenished.
See --help "search". (default: 220)
--youtube-key Youtube data API key
--get-deleted Attempt to retrieve titles of deleted videos from wayback
machine. Requires yt-dlp.
--deleted-only Only retrieve & download deleted music.
CSV-Dateioptionen
--artist-col Artist column name
--title-col Track title column name
--album-col Album column name
--length-col Track length column name
--album-track-count-col Album track count column name (sets --album-track-count)
--yt-desc-col Youtube description column (improves --yt-parse)
--yt-id-col Youtube video id column (improves --yt-parse)
--time-format Time format in Length column of the csv file (e.g h:m:s.ms
for durations like 1:04:35.123). Default: s
--yt-parse Enable if the CSV contains YouTube video titles and channel
names; attempt to parse them into title and artist names.
--remove-from-source Remove downloaded tracks from source CSV file
Dateibedingungsoptionen
--format Accepted file format(s), comma-separated, without periods
--length-tol Length tolerance in seconds
--min-bitrate Minimum file bitrate
--max-bitrate Maximum file bitrate
--min-samplerate Minimum file sample rate
--max-samplerate Maximum file sample rate
--min-bitdepth Minimum bit depth
--max-bitdepth Maximum bit depth
--strict-title File name must contain title
--strict-artist File path must contain artist name
--strict-album File path must contain album name
--banned-users Comma-separated list of users to ignore
--pref-format Preferred file format(s), comma-separated (default: mp3)
--pref-length-tol Preferred length tolerance in seconds (default: 3)
--pref-min-bitrate Preferred minimum bitrate (default: 200)
--pref-max-bitrate Preferred maximum bitrate (default: 2500)
--pref-min-samplerate Preferred minimum sample rate
--pref-max-samplerate Preferred maximum sample rate (default: 48000)
--pref-min-bitdepth Preferred minimum bit depth
--pref-max-bitdepth Preferred maximum bit depth
--pref-banned-users Comma-separated list of users to downrank
--strict-conditions Skip files with missing properties instead of accepting by
default; if --min-bitrate is set, ignores any files with
unknown bitrate.
Album-Download-Optionen
-a, --album Album download mode: Download a folder
-t, --interactive Interactive mode, allows to select the folder and images
--album-track-count Specify the exact number of tracks in the album. Add a + or
- for inequalities, e.g '5+' for five or more tracks.
--album-art
Retrieve additional images after downloading the album:
'default': No additional images
'largest': Download from the folder with the largest image
'most': Download from the folder containing the most images
--album-art-only Only download album art for the provided album
--no-browse-folder Do not automatically browse user shares to get all files in
in the folder
--failed-album-path Path to move all album files to when one of the items from
the directory fails to download. Set to 'delete' to delete
the files instead. Set to 'disable' keep it where it is.
Default: {configured output dir}/failed
Aggregierte Download-Optionen
-g, --aggregate Aggregate download mode: Find and download all distinct
songs associated with the provided artist, album, or title.
--aggregate-length-tol Max length tolerance in seconds to consider two tracks or
albums equal. (Default: 3)
--min-shares-aggregate Minimum number of shares of a track or album for it to be
downloaded in aggregate mode. (Default: 2)
--relax-filtering Slightly relax file filtering in aggregate mode to include
more results
Notizen
Akronyme für Zwei- und Drei-Wort-Flags werden ebenfalls akzeptiert, z. B. --twf. Wenn die Option das Wort „max“ enthält, sollte das m in Großbuchstaben geschrieben werden. „Bitrate“, „Sameplerate“ und „Bittiefe“ sollten alle als zwei separate Wörter behandelt werden, z. B. --Mbr für --max-bitrate.
Flags können explizit deaktiviert werden, indem sie auf „false“ gesetzt werden, z. B. „--interactive false“.
Eingabetypen
Der Eingabetyp wird in der Regel automatisch ermittelt. Um einen bestimmten Eingabetyp zu erzwingen, legen Sie --input-type [spotify|youtube|csv|string|bandcamp|list] fest. Folgende Eingabearten stehen zur Verfügung:
CSV-Datei
Pfad zu einer lokalen CSV-Datei: Verwenden Sie eine CSV-Datei mit Titelinformationen der herunterzuladenden Songs. Die Namen der Spalten sollten Interpret, Titel, Album und Länge lauten, obwohl in der Regel auch alternative Namen erkannt werden. Es ist nur die Titel- oder Albumspalte erforderlich, zusätzliche Informationen können jedoch das Ranking der Suchergebnisse verbessern. Jede Zeile ohne Titelspaltentext wird als Album-Download behandelt.
YouTube
Eine Playlist-URL: Laden Sie Songs von einer YouTube-Playlist herunter. Die Standardmethode zum Abrufen von Wiedergabelisten gibt nicht immer alle Videos zurück, insbesondere nicht diejenigen, die nicht verfügbar sind. Um alle Videotitel zu erhalten, können Sie die offizielle API verwenden, indem Sie mit --youtube-key einen Schlüssel bereitstellen. Holen Sie es sich hier: https://console.cloud.google.com. Erstellen Sie ein neues Projekt, klicken Sie auf „API aktivieren“, suchen Sie nach „YouTube-Daten“ und befolgen Sie dann die Anweisungen.
Spotify
Eine Playlist-/Album-URL oder „Spotify-Likes“: Laden Sie eine Spotify-Playlist, ein Spotify-Album oder Ihre Lieblingslieder herunter. Für das Herunterladen einer privaten Playlist oder beliebter Musik sind Anmeldeinformationen erforderlich.
Anmeldeinformationen verwenden
Klicken Sie zum Erweitern
Erstellen Sie eine Spotify-Anwendung unter https://developer.spotify.com/dashboard/applications mit einer Weiterleitungs-URL http://localhost:48721/callback. Rufen Sie eine Anwendungs-ID und ein Geheimnis aus dem erstellten Anwendungs-Dashboard ab.
Starten Sie sldl mit den erhaltenen Anmeldeinformationen und einer autorisierten Aktion, um den Anmeldevorgang für die Spotify-App auszulösen:
sldl versucht, automatisch einen Browser zu öffnen, greift jedoch auf die Protokollierung der Anmeldefluss-URL zur Ausgabe zurück. Nachdem der Anmeldevorgang abgeschlossen ist, gibt sldl ein Token und ein Aktualisierungstoken aus und beendet die Ausführung des aktuellen Befehls.
Um zu überspringen, dass bei jeder Verwendung von sldl ein Anmeldevorgang erforderlich ist, können das Token und das Aktualisierungstoken für sldl bereitgestellt werden (Hinweis: Speichern Sie diese Informationen in der Konfigurationsdatei, um die Befehle weniger ausführlich zu gestalten):
Der Spotify-Token-Zugriff ist nur 1 Stunde gültig. Mit spotify-refresh kann sldl den Zugriff bei jeder Ausführung erneuern (und kann ohne Einbindung von spotify-token verwendet werden).
Bandcamp
Eine Bandcamp-URL: Laden Sie einen einzelnen Titel, ein Album oder die gesamte Diskographie eines Künstlers herunter. Extrahiert den Namen des Künstlers und des Albums und legt --album-track-count="n+" fest, wobei n die Anzahl der sichtbaren Titel auf der Bandcamp-Seite ist.
Suchzeichenfolge
Name des Titels, Albums oder Interpreten, nach dem gesucht werden soll: Kann entweder eine beliebige typische Suchzeichenfolge sein (z. B. das, was Sie in die Soulseek-Suchleiste eingeben würden) oder eine durch Kommas getrennte Liste von Eigenschaften wie „title=Songname, artist=“. Künstlername, Länge=215'.
Folgende Eigenschaften werden akzeptiert:
title
artist
album
length (in seconds)
artist-maybe-wrong
album-track-count
Beispieleingaben und ihre Interpretationen:
Input String | Artist | Title | Album | Length
---------------------------------------------------------------------------------
'Foo Bar' (without any hyphens) | | Foo Bar | |
'Foo - Bar' | Foo | Bar | |
'Foo - Bar' (with --album enabled) | Foo | | Bar |
'Artist - Title, length=42' | Artist | Title | | 42
'artist=AR, title=T, album=AL' | AR | T | AL |
Liste
Ein Pfad zu einer Textdatei, in der jede Zeile das folgende Format hat:
Wobei „einige Eingaben“ für einen der oben genannten Eingabetypen steht. Die Anführungszeichen können weggelassen werden, wenn das Feld keine Leerzeichen enthält. Die Bedingungsfelder werden zusätzlich zu den konfigurierten Bedingungen hinzugefügt und können auch weggelassen werden. Die Listeneingabe muss manuell mit --input-type=list aktiviert werden. Es akzeptiert auch eine Abkürzung für Album-Downloads: a:"Artist - Album" . Beachten Sie, dass das a: außerhalb der Anführungszeichen stehen muss.
Download-Modi
Normal
Die Standardeinstellung. Lädt für jeden Eingabeeintrag eine einzelne Datei herunter.
Album
sldl sucht nach dem Album und lädt einen gesamten Ordner inklusive Nicht-Audiodateien herunter. Aktiviert, wenn die Eingabe ein Link zu einem Spotify- oder Bandcamp-Album ist, wenn die Eingabezeichenfolge oder CSV-Zeile keinen Titeltitel hat oder wenn -a/--album aktiviert ist.
Aggregat
Mit -g/--aggregate führt sldl eine normale Suche nach der Eingabe durch und versucht dann, die Ergebnisse in verschiedene Songs zu gruppieren und einen von jeder Art herunterzuladen, beginnend mit dem Song, der von den meisten Benutzern geteilt wird. Beachten Sie, dass --min-shares-aggregate standardmäßig 2 ist, was bedeutet, dass Songs, die nur von einem Benutzer geteilt werden, ignoriert werden.
Album-Aggregat
Aktiviert, wenn sowohl --album als auch --aggregate aktiviert sind. sldl gruppiert Freigaben und lädt eines von jedem einzelnen Album herunter, beginnend mit dem Album, das von den meisten Benutzern geteilt wird. Es wird empfohlen, dies mit --interactive zu koppeln. Beachten Sie, dass --min-shares-aggregate standardmäßig 2 ist, was bedeutet, dass Alben, die nur von einem Benutzer geteilt werden, ignoriert werden.
Suchen
Suchanfrage
Die Suchanfrage wird wie folgt ermittelt:
Für Album-Downloads: Wenn das Albumfeld nicht leer ist, suchen Sie nach „Album des Künstlers“. Andernfalls suchen Sie nach „Künstlertitel“.
Für alle anderen Download-Typen: Wenn das Titelfeld nicht leer ist, suchen Sie nach „Künstlertitel“. Andernfalls suchen Sie nach „Künstleralbum“.
Tariflimits für Soulseek
Der Server sperrt Sie für 30 Minuten, wenn innerhalb kurzer Zeit zu viele Suchanfragen durchgeführt werden. Das Programm verfügt über einen Suchbegrenzer, der mit --searches-per-time und --searches-renew-time angepasst werden kann (bei Erreichen des Limits lautet der Status der Downloads „Warten“). Standardmäßig ist es so konfiguriert, dass alle 220 Sekunden bis zu 34 Suchvorgänge möglich sind. Die Standardwerte wurden durch Experimente ermittelt und können daher falsch sein.
Die Dinge beschleunigen
Die folgenden Optionen erhöhen die Geschwindigkeit, können jedoch die Qualität der Suchergebnisse beeinträchtigen oder zu Instabilität führen:
--fast-search überspringt das Warten, bis die Suche abgeschlossen ist, und lädt herunter, sobald eine Datei gefunden wird, die den bevorzugten Bedingungen entspricht
--concurrent-downloads – auf 4 oder mehr setzen
--max-stale-time ist standardmäßig auf 50 Sekunden eingestellt, sodass es lange warten muss, bevor eine Datei aufgegeben wird
--searches-per-time – Erhöhung mit der Gefahr von Verboten.
Dateibedingungen
Dateien, die die erforderlichen Bedingungen nicht erfüllen, werden nicht heruntergeladen. Dateien, die die Präferenzbedingungen erfüllen, werden bevorzugt; Durch die Einstellung von --pref-format "flac,wav" werden verlustfreie Dateien heruntergeladen, sofern verfügbar, und verlustbehaftete Dateien werden nur dann heruntergeladen, wenn nichts anderes vorhanden ist.
Es gibt keine standardmäßig erforderlichen Bedingungen. Die standardmäßigen bevorzugten Bedingungen sind:
sldl bevorzugt daher MP3-Dateien mit einer Bitrate zwischen 200 und 2500 kbps und deren Länge von der angegebenen Länge um nicht mehr als 3 Sekunden abweicht. Außerdem werden Dateien bevorzugt, deren Pfade den angegebenen Titel und das angegebene Album enthalten (ohne Berücksichtigung der Groß- und Kleinschreibung und durch Begrenzungszeichen begrenzt) und deren Länge ungleich Null ist. Eine Änderung der letzten drei bevorzugten Bedingungen wird nicht empfohlen. Beachten Sie, dass Dateien, die eine Teilmenge der bevorzugten Bedingungen erfüllen, weiterhin Dateien vorgezogen werden, die keine Bedingung erfüllen, einige Bedingungen jedoch Vorrang vor anderen haben. Beispielsweise wird eine Datei, die nur „strict-title“ (sofern aktiviert) erfüllt, immer einer Datei vorgezogen, die nur die Formatbedingung erfüllt. Führen Sie mit --print „results-full“ aus, um die Sortierlogik anzuzeigen.
Bedingungen können auch als durch Semikolons getrennte Zeichenfolge mit --cond und --pref angegeben werden, z. B. --cond "br >= 320; format = mp3,ogg; sr < 96000".
Filtern irrelevanter Ergebnisse
Die Optionen --strict-title, --strict-artist und --strict-album filtern alle Dateien, die den Titel/Künstler/das Album nicht im Dateinamen enthalten (ohne Berücksichtigung der Groß-/Kleinschreibung, begrenzt durch Grenzzeichen). Eine andere Möglichkeit, falsche Downloads zu verhindern, besteht darin, --length-tol auf 3 oder weniger zu setzen, damit alle Songs ignoriert werden, die mehr als 3 Sekunden von der Eingabe abweichen. Allerdings sind alle vier Optionen bereits standardmäßig als „bevorzugte“ Bedingungen aktiviert, was bedeutet, dass solche Dateien ohnehin nur als letztes Mittel heruntergeladen werden. Daher empfiehlt es sich, sie nur dann zu aktivieren, wenn Sie falsche Downloads so weit wie möglich minimieren möchten, oder in Sonderfällen wie Titeln oder Alben, deren Name nur aus einem oder zwei Zeichen besteht.
Wichtiger Hinweis
Je nachdem, welchen Client der Peer verwendet, sind einige Informationen möglicherweise nicht verfügbar. Beispielsweise teilt der Standard-Soulseek-Client die Dateibitrate nicht mit. Wenn (z. B.) --min-bitrate gesetzt ist, akzeptiert sldl weiterhin jede Datei mit unbekannter Bitrate. Sie können es so konfigurieren, dass alle Dateien abgelehnt werden, bei denen eine oder mehrere der überprüften Eigenschaften null (unbekannt) sind, indem Sie --strict-conditions aktivieren. Wenn daher auch --min-bitrate festgelegt ist, werden alle von Benutzern mit dem Standardclient freigegebenen Dateien ignoriert. Beachten Sie außerdem, dass sich die standardmäßigen bevorzugten Bedingungen aufgrund der Bitraten- und Samplerate-Prüfungen bereits auf das Ranking dieser Option auswirken.
Namensformat
In {} eingeschlossene Variablen werden durch den entsprechenden Datei-Tag-Wert ersetzt. Das Namensformat unterstützt Unterverzeichnisse sowie bedingte Ausdrücke wie {tag1|tag2} – Wenn tag1 null ist, verwenden Sie tag2. In Klammern eingeschlossene Zeichenfolgenliterale werden bei der Nullprüfung ignoriert.
Beispiele:
„{Künstler} – {Titel}“ Nennen Sie es immer „Künstler – Titel“. Da einige Dateien auf Soulseek nicht mit Tags versehen sind, wird im Allgemeinen Folgendes bevorzugt:
„{Künstler( - )Titel|Dateiname}“ Wenn Künstler und Titel nicht null sind, nennen Sie es „Künstler – Titel“, andernfalls verwenden Sie den ursprünglichen Dateinamen.
„{albumartist(/)album(/)track(. )title|(missing-tags/)foldername(/)filename}“ Sortieren Sie die Dateien nach Künstler-/Albumordnern, wenn alle Tags vorhanden sind, andernfalls legen Sie sie im Ordner „Missing-Tags“ ab.
Verfügbare Variablen:
artist First artist (from the file tags)
sartist Source artist (as on CSV/Spotify/YouTube/etc)
artists Artists, joined with '&'
albumartist First album artist
albumartists Album artists, joined with '&'
title Track title
stitle Source track title
album Album name
salbum Source album name
year Track year or date
track Track number
disc Disc number
filename Soulseek filename without extension
foldername Soulseek folder name
extractor Name of the extractor used (CSV/Spotify/YouTube/etc)
default-folder Default sldl folder name (usually the playlist name)
Konfiguration
Konfigurationsort:
sldl sucht an den folgenden Speicherorten nach einer Datei mit dem Namen sldl.conf:
Zeilen, die mit Hashtags (#) beginnen, werden ignoriert. Tilden in Pfaden werden als Benutzerverzeichnis erweitert.
Konfigurationsprofile:
Profile werden unterstützt:
[lossless]
pref-format = flac,wav
Um das obige Profil zu aktivieren, führen Sie --profile „lossless“ aus. Um alle verfügbaren Profile aufzulisten, führen Sie --profile „help“ aus. Profile können anhand einiger einfacher Bedingungen automatisch aktiviert werden:
[no-stale]
profile-cond = interactive && download-mode == "album"
max-stale-time = 999999
# album downloads will never be automatically cancelled in interactive mode
[youtube]
profile-cond = input-type == "youtube"
path = ~/downloads/sldl-youtube
# download to another location for youtube
Die folgenden Operatoren werden für die Verwendung in „profile-cond“ unterstützt: &&, ||, ==, !=, !{bool}. Folgende Variablen stehen zur Verfügung:
Erstellen Sie eine Datei mit dem Namen wishlist.txt und fügen Sie einige Elemente hinzu, wie unter „Eingabetypen“ beschrieben: Liste:
" Artist - My Favorite Song "
a: " Artist - Some Album, album-track-count=5 "" format=flac "
Fügen Sie Ihrer sldl.conf ein Profil hinzu:
[wishlist]
input = ~/sldl/wishlist.txt
input-type = list
index-path = ~/sldl/wishlist-index.sldl
Dadurch wird eine globale Indexdatei wishlist-index.sldl erstellt, die jedes Mal gescannt wird, wenn sldl ausgeführt wird, um bereits heruntergeladene Wunschlistenelemente zu überspringen. Wenn Sie mit der Suche fortfahren möchten, bis eine Version heruntergeladen wurde, die die bevorzugten Bedingungen erfüllt, fügen Sie außerdem skip-check-pref-cond = true hinzu (beachten Sie, dass die Dateien nach dem Herunterladen an derselben Stelle verbleiben müssen). Richten Sie abschließend einen Cron-Job (oder eine geplante Aufgabe unter Windows) ein, um sldl regelmäßig mit der folgenden Option auszuführen:
sldl --profile wishlist
Notizen
Für macOS-Builds können Sie „publish.sh“ verwenden, um die App zu erstellen. Laden Sie dotnet von https://dotnet.microsoft.com/en-us/download/dotnet/6.0 herunter und führen Sie dann chmod +x publish.sh && sh publish.sh aus. Entfernen Sie bei Intel-Macs das x64-Kommentar und kommentieren Sie den arm64-Abschnitt in Publish.sh.
Bei einigen Konfigurationen (neues Windows-Terminal, Git-Bash) kann die gedruckte Ausgabe dupliziert, überlappend oder nicht aktualisiert erscheinen. Verwenden Sie bei Problemen ein anderes Terminal oder --no-progress .
Docker
Aus diesem Repository kann ein Docker-Container zum Ausführen sldl erstellt werden. Das Image unterstützt Linux x86/ARM.
So erstellen und starten Sie einen Container:
clone https://github.com/fiso64/slsk-batchdl
cd slsk-batchdl
docker compose up -d
exec in den Container, um mit der Verwendung sldl zu beginnen:
docker compose exec sldl sh
sldl --help
Der Compose-Stack mountet zwei Verzeichnisse relativ zum Speicherort docker-compose.yml die für die Dateiverwaltung verwendet werden können:
/config (unter ./config auf dem Host) – legen Sie Ihre sldl.conf -Konfiguration in diesem Verzeichnis ab und verwenden Sie dann sldl -c /config ... um Ihre Konfiguration im Container zu verwenden
/data (unter ./data auf dem Host) – als Download-Verzeichnis verwenden IE sldl -p /data ...
Dateiberechtigungen
Wenn Sie Docker auf einem Linux-Host ausführen, sollten Sie user:group des Benutzers angeben, der Eigentümer des Konfigurations- und Datenverzeichnisses auf dem Host ist, um Probleme mit Docker-Dateiberechtigungen zu vermeiden. Diese können über die Umgebungsvariablen PUID und PGID angegeben werden.
Um die UID und GID für den aktuellen Benutzer abzurufen, führen Sie diese Befehle von einem Terminal aus aus:
id -u – gibt die UID aus
id -g – gibt die GID aus
Ersetzen Sie diese durch die entsprechende Variable ( PUIDPGID ) in docker-compose.yml .
Cron
Mit dem im Container integrierten Cron können ein oder mehrere sldl -Befehle nach einem Zeitplan ausgeführt werden.
Um einen Zeitplan zu erstellen, erstellen Sie eine neue Datei auf dem Host ./config/crontabs/abc und verwenden Sie sie mit der Standard-Crontab-Syntax.
Stellen Sie sicher, dass Sie den Container neu starten, nachdem Sie Änderungen an der Cron-Datei vorgenommen haben.
Beispiel => Führen Sie sldl jeden Sonntag um 1 Uhr morgens aus und suchen Sie nach fehlenden Titeln in der angegebenen Spotify-Wiedergabeliste