Files
Vivian ca3008a73b Jellyfin: Quick Connect, no API key to copy
From Settings (Options on Jellyfin's line) and the welcome screens'
check: a code shown on the TV, approved in Jellyfin on a phone, and the
account's session written into config.json, never shown by the phone page
and dropped when the address changes. Régie5 introduces itself with a
device id made once (settings.json). An account that is not an
administrator is accepted: its line is orange and the screens that need
one say so; a session removed in Jellyfin says so too. An API key still
comes first; Emby is unchanged.
2026-10-15 20:17:46 +02:00

7.0 KiB
Raw Permalink Blame History

Régie5 — config.json

Régie5 lit config.json au démarrage et quand on lance « Tout tester » (ou △) dans Réglages. Sous Linux : ~/.config/regie5/config.json, ou --config <chemin>. Partez de config.example.json.

Les clés d'API ne sont jamais écrites dans un journal.

Un service

Champ Services Rôle
enabled tous false pour couper le service sans effacer sa configuration. Vrai par défaut.
url tous Adresse du service. Peut contenir un chemin (https://exemple.lan/radarr) derrière un reverse proxy ou avec l'urlBase des *arr.
apiKey Sonarr, Radarr, Seerr, Jellyfin, Emby Clé d'API du service. Sans clé, le service est coupé.
name tous Nom affiché de l'instance (« Radarr 4K »). Par défaut, le nom du service.
is4k Sonarr, Radarr true pour l'instance que Seerr utilise comme serveur 4K. false par défaut. Jamais déduit du nom.
insecure tous true pour une adresse https:// dont le certificat est auto-signé (réseau local) : il n'est pas vérifié. false par défaut : le certificat doit être signé par une autorité reconnue (Let's Encrypt…).
username, password Glances Seulement si Glances est lancé avec --password (voir docs/GLANCES.md).

Sur PS5, le fichier peut aussi être rempli depuis un téléphone : Réglages › « Depuis le téléphone » affiche un QR code vers une page servie par la console sur le réseau local (code à 6 chiffres, active tant que la fenêtre est ouverte). Les clés déjà enregistrées ne sont jamais renvoyées au téléphone : un champ laissé vide garde la clé.

Au premier lancement (config.json absent, illisible, ou sans aucun service principal actif : Glances seul ne compte pas), Régie5 ouvre son assistant : choix du serveur multimédia (Jellyfin, Emby ou aucun), la même page du téléphone (qui ne montre que le serveur choisi), puis le test de chaque service. « Plus tard » le ferme pour de bon (settings.json : "welcome": "later") ; l'Accueil propose alors « Configurer », et Réglages › « Assistant » le rouvre à tout moment. Une mise à jour qui garde un config.json utilisable ne l'affiche jamais. Un config.json illisible est gardé à côté, sous le nom config.json.invalid, au premier enregistrement depuis le téléphone (jamais par-dessus une copie existante).

À quoi sert is4k

Il dit quelle instance Seerr utilise comme serveur 4K. Régie5 n'écrit rien dans Seerr : après une suppression par le Ménage, c'est la tâche « Media Availability Sync » de Seerr qui marque le titre (état normal ou 4K, selon l'instance). Le champ est lu et gardé pour les écrans qui distingueront les deux côtés ; il n'est jamais déduit du nom.

Jellyfin sans clé d'API : Quick Connect

Une adresse sans clé suffit pour Jellyfin : Réglages › ligne Jellyfin › Options (M) › « Quick Connect… », ou le bouton « Quick Connect » de la vérification de l'assistant. Le code affiché se valide dans Jellyfin, sur le téléphone (profil › Quick Connect). Régie5 écrit alors dans "jellyfin" (la première instance d'une liste) :

Champ Rôle
accessToken La session du compte (secrète comme une clé ; jamais montrée par la page du téléphone, jamais écrite dans un journal).
userName Le nom du compte, affiché sur la ligne Jellyfin.
isAdmin false pour un compte qui n'est pas administrateur : la ligne passe à l'orange, et les écrans qui demandent un administrateur le disent (arrêt de lecture, scan, tâches, journal, utilisateurs, diagnostic, Ménage).

Une apiKey passe avant la session. Changer l'adresse de Jellyfin depuis le téléphone efface la session (elle appartient à l'ancien serveur). Une session supprimée dans Jellyfin (Tableau de bord › Appareils) : Réglages le dit, il suffit de refaire Quick Connect. Régie5 se présente à Jellyfin sous le nom « Regie5 », avec un identifiant d'appareil tiré une fois et gardé dans settings.json ("deviceId"). Jellyfin 10.9 ou plus récent, Quick Connect activé (Tableau de bord › Général). Emby n'a pas d'équivalent sur le réseau local : il garde sa clé.

Jellyfin ou Emby

Le serveur multimédia est Jellyfin (clé "jellyfin") ou Emby (clé "emby", mêmes champs), l'un ou l'autre :

"emby": { "url": "http://192.168.1.10:8096", "apiKey": "…" }

Clé d'API Emby : dans les réglages du serveur Emby, Advanced › Api Keys › New Api Key (libellés de l'interface en anglais, vérifiés avec Emby 4.10). Avec Emby, l'onglet et les textes disent « Emby », et Options propose « Chercher dans Emby5 » (le titre à chercher dans Emby5 ; aucune app n'est lancée). Emby 4.8 ou plus récent (testé avec 4.10.1.0). Le support d'Emby est en bêta depuis la 0.4.0 (pastille dans Réglages) : retours bienvenus sur l'issue #1 du dépôt.

Si "jellyfin" et "emby" sont tous deux actifs, seul Jellyfin est utilisé, et Réglages le signale sur sa ligne. Pour passer d'Emby à Jellyfin, mettez "enabled": false dans "emby" (ou retirez-le).

Derrière un reverse proxy

L'url peut contenir un chemin, d'un ou plusieurs niveaux, avec ou sans / final :

"sonarr":   { "url": "https://media.lan/sonarr",         "apiKey": "…" },
"jellyfin": { "url": "https://media.lan/media/jellyfin", "apiKey": "…", "insecure": true }

Deux montages marchent :

  • le proxy retire le chemin (location /sonarr/ { proxy_pass http://serveur:8989/; }) : rien à régler sur le service ;
  • le proxy garde le chemin : il faut alors le même chemin dans le service (URL Base de Sonarr / Radarr, « URL de base » de Jellyfin). Seerr n'a pas ce réglage : pour lui, seul le premier montage marche.

Régie5 ne suit pas les redirections (la clé d'API partirait avec). Une redirection s'affiche dans Réglages : « Redirigé (HTTP 302) — page de connexion du proxy, ou mauvaise adresse ? ». Causes habituelles : une page de connexion (Authelia, Authentik…) devant le service, à contourner pour les chemins /api ; ou http:// alors que le proxy force https://. Testé avec nginx (chemins retirés, HTTPS auto-signé avec insecure, refus du certificat sans).

Plusieurs instances

Un service peut être un objet (une instance) ou une liste d'instances nommées :

"radarr": [
  { "name": "Radarr",    "url": "http://192.168.1.10:7878",       "apiKey": "…" },
  { "name": "Radarr 4K", "url": "https://media.example/radarr4k", "apiKey": "…", "is4k": true }
]

Tous les écrans lisent toutes les instances. Un titre présent dans deux instances apparaît une fois par instance, avec son nom (« Radarr 4K ») ; dans « À venir » et le Guide, le même épisode ou la même sortie n'apparaît qu'une fois.

Ménage

"cleanup": { "ignoreUsers": ["invité", "test"] }

Comptes Jellyfin ou Emby (noms, sans tenir compte de la casse) qui ne comptent pas dans « vu par tous les comptes actifs ». Le Ménage lui-même s'active dans Réglages, pas ici.