Files
wiki/Catalogue-Self-Hosted/apps/app-frames.md
T
2026-06-09 18:40:21 +02:00

4.2 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Frames 2026-06-07 2026-06-07 app
catalogue
media-streaming
plex
mapping
library
nodejs
medium false
https://selfh.st/apps/?tag=Media+Streaming
https://github.com/.../frames

🎬 Frames

Outil de mapping et d'organisation de bibliothèques Plex — réconcilie, fusionne et rééquilibre les métadonnées incohérentes.

📋 Informations Générales

Attribut Valeur
Nom Frames
Slug app-frames
Description Utilitaire Node.js pour analyser, fusionner et corriger les entrées d'une bibliothèque Plex
Site officiel https://framesapp.io/
Repository https://github.com/framesapp/frames
Stars 497
Licence MIT
Langage principal TypeScript (Node.js)
Catégorie Media Streaming
Tags [catalogue, media-streaming, plex, mapping, library, nodejs]

📝 Description

Frames est un outil dédié à l'un des plus gros points de friction de app-plex : la qualité des métadonnées. Quand votre bibliothèque contient plusieurs versions du même film (rip 4K + version Director's Cut + version cinéma), Plex les affiche souvent comme des entrées distinctes, ou inversement, fusionne des films différents à cause d'un titre identique. Frames analyse la bibliothèque et propose un mapping cohérent.

Le logiciel se branche via l'API officielle Plex, lit les fichiers physiques (pour vérifier durée, codec, taille), compare aux métadonnées TMDB/IMDB, et expose une interface web de validation où l'on peut confirmer ou refuser chaque fusion proposée. C'est un data janitor pour bibliothèques qui ont pris du poids.

Points forts : UUID stable, scan incrémental, gestion des doublons exacte (hash) et floue (titre). Limites : projet mono-utilisateur, dépendant de la qualité de scan de Plex, et le re-mapping peut prendre du temps sur > 10 000 items.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
version: "3.8"

services:
  frames:
    image: ghcr.io/framesapp/frames:latest
    container_name: frames
    restart: unless-stopped
    ports:
      - "7000:7000"
    environment:
      - PLEX_URL=http://plex.local:32400
      - PLEX_TOKEN=***      - TMDB_API_KEY=***      - TZ=Europe/Paris
    volumes:
      - ./config:/app/config
      - ./cache:/app/cache

Installation manuelle

git clone https://github.com/framesapp/frames
cd frames
npm install
npm run build
node dist/server.js

⚙️ Configuration

  • Connexion Plex : URL du serveur (http://IP:32400) + X-Plex-Token.
  • TMDB : clé API gratuite, indispensable pour valider les fusions.
  • Stratégie de matching : choisir entre exact (hash SHA256), fuzzy (titre + année ±1) ou hybrid.
  • Bibliothèques cibles : filtrer par section Plex (Films, Séries, etc.).
  • Dry-run : mode lecture seule, recommandé avant tout vrai mapping.

🔗 Alternatives

  • Plex Meta Manager — Plus puissant (collections automatiques, overlays) mais plus complexe.
  • FileBot — Renommage de fichiers basé sur métadonnées, pas Plex.
  • Sonarr/Radarr + Custom Formats — Empêche les doublons en amont, mais ne nettoie pas l'existant.
  • PlexDance — Script Bash plus ancien, sans UI.

🔒 Sécurité

  • Le PLEX_TOKEN donne un accès administrateur complet : le traiter comme un mot de passe (variable d'environnement, pas dans un repo Git).
  • Limiter l'accès réseau à Frames (LAN ou VPN via app-wireguard).
  • Faire un backup de la base SQLite Plex avant tout batch de fusions massives.
  • Auditer régulièrement les fusions automatiques (mode dry-run).

📚 Ressources

🔗 Pages Liées