fix(somedl): install yt-dlp nightly to avoid YouTube 403 errors

このコミットが含まれているのは:
2026-08-21 17:04:49 +02:00
コミット 25537692c8
4個のファイルの変更42行の追加2行の削除
+2 -1
ファイルの表示
@@ -21,7 +21,8 @@ RUN curl -fsSL https://deno.land/install.sh | sh
ENV PATH="/root/.deno/bin:${PATH}"
# Installazione SomeDL
RUN pip install --no-cache-dir somedl
RUN pip install --no-cache-dir somedl && \
python -m pip install --no-cache-dir -U --pre "yt-dlp[default]"
# Entrypoint: genera la config al primo avvio e lancia la WebUI
COPY entrypoint.sh /app/entrypoint.sh
+14 -1
ファイルの表示
@@ -14,5 +14,18 @@ if [ ! -f "$CONFIG_FILE" ]; then
sed -i 's|^open_browser = true|open_browser = false|' "$CONFIG_FILE"
fi
# `SOMEDL_COOKIES` deve essere un percorso visibile *nel container* (ad esempio
# un file presente nel volume di configurazione). L'opzione viene aggiunta solo
# quando il file esiste, così il container resta utilizzabile senza cookie.
SOMEDL_ARGS=()
if [ -n "${SOMEDL_COOKIES:-}" ]; then
if [ -r "$SOMEDL_COOKIES" ]; then
SOMEDL_ARGS+=(--cookies "$SOMEDL_COOKIES")
else
echo "[entrypoint] Avviso: file cookie non leggibile: $SOMEDL_COOKIES" >&2
fi
fi
# Avvia la WebUI
exec somedl web --no-browser --host "${SOMEDL_HOST:-0.0.0.0}" --port "${SOMEDL_PORT:-5000}"
exec somedl "${SOMEDL_ARGS[@]}" web --no-browser \
--host "${SOMEDL_HOST:-0.0.0.0}" --port "${SOMEDL_PORT:-5000}"
+22
ファイルの表示
@@ -23,6 +23,17 @@ mkdir -p /srv/containers/somedl/config /srv/containers/somedl/downloads
La directory `config` può restare vuota: il file `somedl_config.toml` viene
generato automaticamente dall'entrypoint al primo avvio.
Per usare cookie esportati da un account YouTube verificato per i contenuti
age-restricted, salvare `cookies.txt` nella directory `config` e aggiungere al
quadlet (il percorso è quello visto dal container):
```ini
Environment=SOMEDL_COOKIES=/root/.config/SomeDL/cookies.txt
```
Il file viene passato automaticamente a SomeDL come `--cookies`. I cookie sono
credenziali sensibili: proteggerne i permessi e usarli solo quando necessario.
### 2. Copiare il file quadlet
```bash
@@ -62,6 +73,9 @@ podman exec somedl somedl -f flac "Daft Punk - One More Time"
# Piu' input in un colpo solo
podman exec somedl somedl "Artist - Song 1" "Artist - Song 2"
# Cookie per contenuti age-restricted (percorso nel container)
podman exec somedl somedl --cookies /root/.config/SomeDL/cookies.txt "Artist - Song"
```
### Visualizzare la configurazione corrente
@@ -81,6 +95,9 @@ podman logs somedl
# Aggiornare l'immagine
podman build -t localhost/somedl:latest .
# Ricreare il container per usare la nuova immagine
systemctl --user stop somedl
podman rm somedl
systemctl --user restart somedl
# Rimuovere il container
@@ -95,9 +112,14 @@ podman rm somedl
| `/srv/containers/somedl/config/` | `/root/.config/SomeDL/` | Config (`somedl_config.toml`, generata al primo avvio) |
| `/srv/containers/somedl/downloads/` | `/app/downloads/` | Brani scaricati |
`SOMEDL_COOKIES` è opzionale e deve indicare un percorso interno al container;
non viene creato alcun volume aggiuntivo.
## Note
- ffmpeg (richiesto da yt-dlp) e Deno (raccomandato da yt-dlp) sono installati nell'immagine
- `yt-dlp` viene installato nella versione nightly per ridurre i problemi di download
causati da `HTTP Error: 403 Forbidden`
- Il formato predefinito è MP3; formato, cartella e template di output si cambiano
nel file di config o dalla WebUI
- Serve connessione internet per cercare e scaricare i brani
+4
ファイルの表示
@@ -16,6 +16,10 @@ PublishPort=5000:5000
Volume=/srv/containers/somedl/config:/root/.config/SomeDL
Volume=/srv/containers/somedl/downloads:/app/downloads
# Opzionale: percorso del file cookies.txt già visibile nel container.
# Esempio: Environment=SOMEDL_COOKIES=/root/.config/SomeDL/cookies.txt
Environment=SOMEDL_COOKIES=
[Service]
Restart=on-failure
TimeoutStartSec=5m