T4.5 Jellyfin : wizard 10.9 + fix EnableLocalPassword + en-tête X-Emby-Authorization (API), cleanup médiathèques, secret jellyfin-admin documenté (03b)
This commit is contained in:
@@ -24,3 +24,9 @@ services:
|
||||
- "0.0.0.0:8096:8096"
|
||||
devices:
|
||||
- /dev/dri:/dev/dri # accélération vidéo (si dispo)
|
||||
# Wizard 10.9 accompli via navigateur (T4.5) : user admin « g9ops » (mot de passe dans
|
||||
# ./secrets/jellyfin-admin, 644 root:root, hors git G9). PIÈGE mesuré : le wizard laisse
|
||||
# Users.EnableLocalPassword=0 → AuthenticateByName = « Invalid username or password ».
|
||||
# Fix : UPDATE Users SET EnableLocalPassword=1 (sqlite /config/data/jellyfin.db) + restart.
|
||||
# API : POST /Users/AuthenticateByName exige l'en-tête combiné X-Emby-Authorization
|
||||
# (Emby Username=…, DeviceId=…, Device=…, Client=…, Version=…) + body {"Username","Pw"}.
|
||||
|
||||
@@ -98,3 +98,4 @@
|
||||
| 2026-10-11 12:44 | 4 | migrate:nextcloud : backup restic pré-migration | Garde-fou G2 avant import Nextcloud | snapshot restic Freebox (log /var/log/restic-daily.log) | restic forget <snapshot> && restic prune |
|
||||
| 2026-10-11 10:45 | 4 | migrate:nextcloud : migration complète (07c) | T4.2 (double-run G4) | export app stoppée (db vivante, mysqldump --single-transaction 31,9 Mo) + tars data (1,9 Go, 2608 fichiers sha256 identiques) + config + custom_apps → **app .25 relancée healthy** ; import G9 : MariaDB 10.11 (utf8mb4_bin, DEFINER retirés, import root, filecache=2727, users=8), occ status installed/maintenance off, version 35.0.1.1 = image épinglée, occ upgrade « No upgrade required », occ app:list **identique à la source (66 apps)** ; overrides LAN dans config/g9-double-run.config.php (réversible) ; dumps supprimés sur les 3 machines (hashs mots de passe users) | docker compose -f /data/docker/nextcloud/docker-compose.yml down + rm -rf /data/docker/nextcloud ; .25 intact |
|
||||
| 2026-10-11 11:02 | 4 | migrate:nextcloud : Collabora — TLS interne désactivé | L'image collabora/code:26.04 sert **TLS par défaut** : discovery http = 000, https -k = 200 ; env `extra_features`/`EXTRA_FEATURES` et `O:ssl.enable` **non appliqués** (mesuré : entrypoint = coolwsd --use-env-vars sans script) | fix = **command: --o:ssl.enable=false** (CMD appendu à l'entrypoint) → logs « SSL is disabled », discovery http **200** ; wopi_url = http://192.168.1.24:9980 (occ, persisté) ; Caddy (T4.6) terminera le TLS | retirer la ligne command: du compose + restart |
|
||||
| 2026-10-11 13:40 | 4 (T4.5) | jellyfin : wizard + auth API | Déploiement frais G9 (aucun Jellyfin sur .25 — stack *arr reste sur .25) ; média par RÉFÉRENCE : bind /mnt/usb-media → /media:ro (aucune copie) | wizard 10.9.11 accompli via navigateur (langue → admin « g9ops » → médiathèque « Films3 » → /media/films) ; **PIÈGE mesuré** : le wizard laisse `Users.EnableLocalPassword=0` → AuthenticateByName = « Invalid username or password » ; fix = UPDATE sqlite + restart (hash PBKDF2-SHA512 vérifié == secret) ; en-tête API requis = **X-Emby-Authorization** combiné (400 « Value cannot be null » sans lui) ; médiathèques vides doublons supprimées → 1 lib « Films3 » = /media/films ; `Items?IncludeItemTypes=Movie` = **1** (test-reference.mkv, 0 octet, média de test en lecture seule) ; /system/info 200 ; label watchtower=false ; ufw 8096 ALLOW IN 192.168.1.0/24 | `DELETE /Library/VirtualFolders?name=…` + `UPDATE Users SET EnableLocalPassword=0` ; compose down (données source : aucune touchée) |
|
||||
|
||||
@@ -18,7 +18,10 @@
|
||||
# vaultwarden : admin
|
||||
# n8n : dbpass + n8n.env (construit depuis dbpass — requis par env_file du compose)
|
||||
# gitea : dbpass (backend Postgres — voir compose/gitea)
|
||||
# (jellyfin, watchtower : pas de secret fichier)
|
||||
# jellyfin : admin (mot de passe du compte admin posé par le wizard 10.9 — voir
|
||||
# compose/jellyfin ; la base jellyfin.db est créée par le wizard, le
|
||||
# secret documente le mot de passe réel, il n'est pas lu par l'image)
|
||||
# (watchtower : pas de secret fichier)
|
||||
#
|
||||
# ⚠️ QUELS CREDENTIELS GAGNENT (piège de migration) :
|
||||
# - INIT FRAÎCHE : ce sont ces secrets générés qui sont utilisés (MARIADB_*/POSTGRES_*
|
||||
|
||||
Reference in New Issue
Block a user