2025-11-16 19:39:59 +01:00
2025-11-16 19:39:59 +01:00

Reset du mot de passe dun utilisateur Jellyfin via CLI (LXC)

🎯 Objectif

Réinitialiser le mot de passe dun utilisateur Jellyfin (USER$ dans cet exemple) sans recréer le compte, directement depuis le conteneur LXC, quand linterface web affiche Connection Failure ou que le mot de passe est perdu.

Environnement :

  • Jellyfin installé dans un LXC Ubuntu
  • Base SQLite : /var/lib/jellyfin/data/jellyfin.db
  • Accès root au LXC

1. Se connecter au conteneur Jellyfin

Depuis lhôte Proxmox (PVE), en root :

pct enter <CTID_JELLYFIN>

(Le prompt devient alors root@jellyfin:/#.)

Vérifier que Jellyfin tourne et écoute sur le port 8096 :

systemctl status jellyfin.service
ss -lntp | grep -E '8096|8920' || echo "Rien n'écoute sur 8096/8920"

2. Arrêter proprement le service Jellyfin

systemctl stop jellyfin.service

3. Sauvegarder la base de données Jellyfin

Se placer dans le répertoire des données :

cd /var/lib/jellyfin/data
ls jellyfin.db

Créer une sauvegarde horodatée :

cp jellyfin.db jellyfin.db.bak_$(date +%F_%H-%M-%S)

En cas de problème, il suffira de restaurer :

systemctl stop jellyfin.service
cp jellyfin.db.bak_YYYY-MM-DD_HH-MM-SS jellyfin.db
systemctl start jellyfin.service

4. Vérifier la liste des utilisateurs

Installer sqlite3 si nécessaire :

apt update
apt install -y sqlite3

Lister les utilisateurs Jellyfin :

sqlite3 jellyfin.db "SELECT Id, Username FROM Users;"

Repérer lutilisateur cible, par exemple : USER$.


5. Réinitialiser le mot de passe de lutilisateur

Mettre le champ Password à NULL pour lutilisateur :

sqlite3 jellyfin.db "UPDATE Users SET Password=NULL WHERE Username='USER$';"

Vérifier :

sqlite3 jellyfin.db "SELECT Username, Password FROM Users WHERE Username='USER$';"

Résultat attendu :

USER$|

(Colonne Password vide)


6. Redémarrer Jellyfin

systemctl start jellyfin.service
systemctl status jellyfin.service

Le service doit repasser en active (running).


7. Connexion et changement de mot de passe

  1. Ouvrir linterface Jellyfin :http://<IP_LXC_JELLYFIN>:8096
  2. Sauthentifier avec :
    • Utilisateur : USER$
    • Mot de passe : laisser vide
  3. Une fois connecté, aller dans :
    • Tableau de bord → Utilisateurs → USER$ → Mot de passe
    • Définir un nouveau mot de passe sécurisé.

8. Récapitulatif des commandes utilisées

# Dans le LXC Jellyfin
systemctl stop jellyfin.service

cd /var/lib/jellyfin/data
cp jellyfin.db jellyfin.db.bak_$(date +%F_%H-%M-%S)

sqlite3 jellyfin.db "SELECT Id, Username FROM Users;"
sqlite3 jellyfin.db "UPDATE Users SET Password=NULL WHERE Username='USER$';"
sqlite3 jellyfin.db "SELECT Username, Password FROM Users WHERE Username='USER$';"

systemctl start jellyfin.service
systemctl status jellyfin.service

Notes

  • Cette méthode ne supprime aucun utilisateur ni profils.
  • Toujours conserver au moins une sauvegarde de jellyfin.db avant modification.
  • La procédure est réutilisable pour nimporte quel utilisateur en changeant simplement :
    WHERE Username='nom_utilisateur';
    
Description
No description provided
Readme 64 KiB