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

5.8 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
DVinyl 2026-06-07 2026-06-07 app
catalogue
tracking
vinyles
medias
discogs
nodejs
mongodb
high false
https://selfh.st/apps/dvinyl
https://github.com/Kyonew/DVinyl

DVinyl

Un gestionnaire moderne de collections de médias physiques (vinyles, CDs, livres, films, jeux vidéo) enrichi automatiquement via les APIs Discogs, Hardcover, TMDB et IGDB.

Métadonnée Valeur
Site web https://kyonew.me/dvinyl
GitHub https://github.com/Kyonew/DVinyl
License MIT
Langage principal JavaScript (Node.js / Express)
Étoiles GitHub 119
Dernière MAJ 2026-05-30 (v2.5.2)
Catégorie cat-tracking

Description

DVinyl est un projet français (par Tiziano Senes / Kyonew) initialement conçu pour remplacer Discogs dans la gestion d'une collection de vinyles personnels, avant de s'étendre à tous les médias physiques : musique (vinyles, CDs, cassettes), livres (mangas, comics, hardcovers), films (Blu-ray, 4K, VHS, LaserDisc) et jeux vidéo. L'idée directrice est de reprendre le contrôle de ses données sans dépendre d'un service centralisé, tout en bénéficiant de la richesse des métadonnées déjà disponibles sur le web.

L'enrichissement automatique est le cœur de l'expérience : un clic sur un album et DVinyl interroge Discogs pour récupérer pochette, titres, crédits, année de sortie, et valeur de marché (estimation basse / médiane / haute). Pour les livres c'est Hardcover qui est utilisé, TMDB pour les films, et IGDB pour les jeux vidéo. Il est également possible d'importer toute sa collection Discogs existante via un ID de release ou un export CSV.

L'interface, basée sur EJS + Tailwind CSS, est entièrement personnalisable : barre de navigation, widgets statistiques du tableau de bord, thèmes de catégorie pour différencier visuellement ses différentes médiathèques. Le scanner physique intégré (limité à la France pour le moment) permet de relier un objet en rayon à son entrée en base en scannant un code-barres. L'authentification supporte aussi bien un usage strictement privé qu'un partage familial, et l'interface est disponible en français, anglais, espagnol, italien et allemand.

Installation

Via Docker (recommandé)

services:
  dvinyl:
    container_name: dvinyl
    image: ghcr.io/kyonew/dvinyl:latest
    restart: unless-stopped
    ports:
      - "3099:3099"
    volumes:
      - dvinyl-db:/data/db
      - dvinyl-uploads:/data/uploads
    environment:
      - BASE_URL=http://localhost:3099
      - VINYL_PORT=3099
      - DISCOGS_TOKEN=VotreTokenDiscogs
      - TMDB_API_KEY=VotreClefTMDB
      - IGDB_CLIENT_ID=VotreClientIdIGDB
      - IGDB_CLIENT_SECRET=VotreSecretIGDB
      - HARDCOVER_TOKEN=VotreTokenHardcover
      - MONGO_URL=mongodb://mongo:27017/dvinyl
    depends_on:
      - mongo

  mongo:
    image: mongo:7
    restart: unless-stopped
    volumes:
      - dvinyl-mongo:/data/db

volumes:
  dvinyl-db:
  dvinyl-uploads:
  dvinyl-mongo:

Se référer à docs/api-keys.md du dépôt pour obtenir les différentes clés d'API.

Installation manuelle

  1. Cloner : git clone https://github.com/Kyonew/DVinyl.git
  2. Installer Node.js 20+ : npm install
  3. Copier .env.example en .env et renseigner les clés d'API
  4. Démarrer MongoDB (local ou conteneur) et configurer MONGO_URL
  5. Lancer : npm start, accès sur http://localhost:3099

Configuration

  • Créer un compte sur Discogs pour générer un token d'API, indispensable pour l'enrichissement musical.
  • Idem pour TMDB (films), Hardcover (livres) et IGDB (jeux vidéo) — toutes les clés sont facultatives mais enrichissent l'expérience si elles sont renseignées.
  • Définir BASE_URL correctement si vous déployez derrière un reverse proxy avec sous-chemin.
  • Choisir la langue d'interface par défaut (français, anglais, espagnol, italien, allemand).
  • Sauvegarder régulièrement le volume dvinyl-mongo (export mongodump recommandé).

Alternatives

Open source

  • app-koillection — équivalent français très mature, avec scrapers HTML/JSON personnalisés
  • Beets — gestionnaire de bibliothèque musicale (audio numérique principalement)
  • Plex/Jellyfin — pour les films/séries, mais orienté streaming
  • Varken — dashboard pour Sonarr/Radarr/Plex, pas une collection manager

Propriétaires

  • Discogs — la référence mondiale pour les vinyles, mais base de données centralisée et freemium pour les fonctionnalités avancées
  • Delicious Library — app Mac/Windows pour cataloguer tous médias
  • CLZ — solutions connectées (mobile + cloud) avec scan de codes-barres

Sécurité

  • Authentification par login/password avec sessions serveur, suffisamment sécurisée pour un usage privé ou familial.
  • HTTPS obligatoire en production : déployer derrière un reverse proxy (Traefik, Caddy, NPM).
  • Les clés d'API tierces sont sensibles : ne pas les exposer dans un dépôt Git public.
  • Sauvegardes MongoDB fréquentes (mongodump quotidien recommandé) — c'est votre seule source de vérité.
  • Si exposition publique, activer un reverse proxy avec rate limiting et fail2ban sur les ports exposés.

Ressources

Pages Liées