mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-23 23:18:06 +02:00
Enregistrements : droits du dossier compatibles Plex (PUID/PGID), code 243 expliqué (#34)
Sous Unraid, l'entrypoint faisait chmod -R 770 sur le dossier d'enregistrement : Plex (nobody:users) ne lisait plus les vidéos. Rendre la lecture à Plex retirait l'écriture au conteneur, et le match suivant a échoué sur « Erreur FFmpeg code 243 » (EACCES), sans log puisque le .log ne pouvait pas non plus être créé. - entrypoint : PUID/PGID (Unraid 99/100) et UMASK (002) ; les droits du dossier sont ajoutés, plus jamais retirés ; avertissement au démarrage si le dossier reste non inscriptible. - Serveur : vérification d'écriture avant de lancer FFmpeg, motif clair. - Codes de sortie FFmpeg courants traduits (243, 8, 228…). - Dialogue des logs : affiche le message d'erreur du serveur. Claude-Session: https://claude.ai/code/session_018RD1okqQzNYjujGirBHXpu Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
1 parent
0f5b087eb7
commit
2f8f09e12f
8 files changed
+124
-11
No files matched your search
@@ -51,6 +51,7 @@
|
||||
- **Confirmation avant suppression** d'un enregistrement, et messages d'erreur avec bouton « Réessayer » (chaînes, enregistrements) au lieu d'exceptions brutes
|
||||
|
||||
### 🔧 Fiabilité des enregistrements
|
||||
- **Droits du dossier d'enregistrement compatibles Plex (Unraid)** : l'entrypoint faisait `chmod -R 770` sur le dossier à chaque démarrage, ce qui ôtait la lecture à Plex ; rendre la lecture à Plex retirait l'écriture au conteneur, et chaque capture échouait avec « Erreur FFmpeg code 243 » (`EACCES`) sans même de log. Nouvelles variables `PUID`/`PGID` (Unraid : `99`/`100`) et `UMASK` (`002`) ; les droits ne sont plus qu'ajoutés, jamais retirés. Le serveur vérifie que le dossier est inscriptible avant de lancer FFmpeg et l'écrit en clair, et les codes de sortie FFmpeg courants sont traduits (243 → permission refusée)
|
||||
- **Fuseaux horaires unifiés** : le backend exige des dates ISO-8601 avec fuseau (400 sinon) et stocke tout en UTC ; le frontend passe par un helper unique `postRecording()` — fini les enregistrements décalés de 1-2 h selon l'écran utilisé
|
||||
- **Contrôle de propriété** : stop/suppression/logs d'un enregistrement et suppression d'un season pass ne sont plus possibles que par leur propriétaire (ou un admin)
|
||||
- **SQLite durci** : `foreign_keys=ON` (les CASCADE déclarés s'appliquent enfin), WAL, `busy_timeout`, migrations de schéma versionnées, index sur `user_id`/`start_time`
|
||||
|
||||
Reference in new issue
Block a user