Selbst gehostet · Heimnetz · Open SourceSelf-hosted · home network · open source

Deine Sammlung.
Bei dir.
Your collection.
At home.

MediaDB verwaltet deine CDs und Musikdateien im Browser. Barcode scannen, und Titelliste, Cover und Genre kommen von selbst. Filme und Serien hat es auch im Griff, mit Poster, Handlung, „gesehen“ und eigener Bewertung, bei Serien samt Liste der fehlenden Folgen. Eine Merkliste zeigt, wann deine Serien weitergehen und wo sie laufen. Alles läuft auf deinem eigenen Rechner oder Homeserver, nichts liegt in fremden Clouds.MediaDB keeps track of your CDs and music files in the browser. Scan a barcode and the track list, cover and genre fill in by themselves. It handles films and TV shows too, with posters, plot, watched status and your own rating, and for shows a list of missing episodes. A watchlist shows when your shows continue and where they stream. It runs on your own computer or home server, nothing lives in someone else's cloud.

1 · Barcode scannen1 · Scan barcodeEAN-13

4006381333931
MusicBrainz

2 · Ausgabe wählen2 · Pick the editionBeispielExample

Album des InterpretenThe artist's albumCD · DE · 1997 · Label · Kat.-Nr.
  1. 1Erster TitelFirst track3:58
  2. 2Zweiter TitelSecond track4:21
  3. 3Dritter Titel (feat. Gast)Third track (feat. guest)5:07
CD + DigitalFLACMP3Rock

WillkommenWelcome

MediaDB – Meine Mediensammlung, endlich im GriffMediaDB – my media collection, finally under control

Willkommen auf der Webseite zu meinem MediaDB-Projekt!Welcome to the website of my MediaDB project!

Wie alles begannHow it all started

Vor einigen Jahren, lange vor dem KI-Boom, habe ich ein kleines Python-Programm geschrieben: Ein USB-Handscanner (bei mir ein Zebra DS2208, aber jeder andere Scanner, der sich wie eine Tastatur verhält und keinen Treiber braucht, funktioniert genauso) liest den Barcode einer CD oder DVD ein. Das Programm holte sich anschließend die passenden Informationen aus dem Internet und speicherte sie in einer CSV-Datei. Da ich wirklich kein guter Programmierer bin und nebenbei noch richtig arbeiten muss, hat mich das damals mehrere Monate gekostet.A few years ago, long before the AI boom, I wrote a small Python program: a USB hand scanner (mine is a Zebra DS2208, but any scanner that behaves like a keyboard and needs no driver works just as well) reads the barcode of a CD or DVD. The program then fetched the matching information from the internet and saved it to a CSV file. Since I’m really not a good programmer and also have a proper job to do, that took me several months back then.

Der FunkeThe spark

Dann hörte ich von neuen Programmen, die Adobe- und Office-Produkte ersetzen wollen und nach eigenen Angaben praktisch zu 100 % von Claude Code „gevibt“ wurden. Jemand baut mal eben so etwas Komplexes wie Photoshop mit KI nach? Das musste ich ausprobieren. Also habe ich meinen alten Python-Code einfach der KI vorgeworfen und abgewartet, was passiert.Then I heard about new programs that want to replace Adobe and Office products and that, by their own account, were practically 100 % “vibe-coded” with Claude Code. Someone just rebuilds something as complex as Photoshop with AI? I had to try that. So I simply threw my old Python code at the AI and waited to see what would happen.

Innerhalb weniger Minuten wurde aus meinem kleinen Skript ein richtiges Programm.Within a few minutes my little script had become a real program.

Und dann ist alles eskaliertAnd then it all escalated

Diese Erfahrung hat mich so motiviert, dass ich immer weitere Funktionen über das reine Speichern in eine Datei hinaus umsetzen wollte. Aus der Idee wurde ein Selbstläufer: Die Datenbanken und Abfragen wurden auf Filme, Serien und Bücher erweitert, und es kamen immer neue Features dazu.That experience motivated me so much that I kept wanting more features beyond just saving to a file. The idea took on a life of its own: the databases and lookups were extended to films, TV shows and books, and new features kept coming.

Alles, was ihr hier seht und auf eurem eigenen Server installieren könnt, ist innerhalb von nur zwei Tagen mit Claude Code entstanden.Everything you see here and can install on your own server was built with Claude Code in just two days.

Ein ehrliches Wort zur UrheberschaftAn honest word on authorship

Der Code stammt zu 99,9999 % von Claude Code und nur zu einem klitzekleinen Teil von mir. Die Ideen und Funktionen, also die Erweiterung auf Filme, Serien und Bücher sowie alle Features, kommen von mir. Aber ohne die KI hätte ich das in 100 Jahren nicht hinbekommen!The code is 99.9999 % Claude Code and only a teeny-tiny part mine. The ideas and functions, that is the extension to films, TV shows and books and all the features, come from me. But without the AI I wouldn’t have managed this in 100 years!

Jetzt seid ihr dranNow it’s your turn

Schaut euch um, probiert MediaDB auf eurem eigenen Server aus und baut eure Sammlung auf. Viel Spaß damit!Have a look around, try MediaDB on your own server and build up your collection. Have fun with it!

Zur InstallationTo the installation

Was MediaDB heute kannWhat MediaDB does today

Erfassen, ergänzen, wiederfindenCapture, enrich, find again

Vier Bereiche mit eigener Datenbank: Musik (CDs im Regal und Dateien auf der Festplatte, ohne Doppelte), Filme, Serien und Bücher. Dazu: wer gerade was geliehen hat.Four sections, each with its own database: music (the CDs on your shelf and the files on your drive, without duplicates), films, TV shows and books. Plus: who has borrowed what.

ErfassenCapture

Vier Wege hineinFour ways in

  • Barcode mit Handscanner oder TastaturBarcode via hand scanner or keyboard
  • Diskografie-Suche ohne ScannerDiscography search, no scanner needed
  • Tabelle importieren (xlsx, ods, csv)Spreadsheet import (xlsx, ods, csv)
  • Von HandBy hand

AudiodateienAudio files

Ordner einlesenRead your folders

MP3, M4A, FLAC und weitere. Gleiche Titelliste wie eine vorhandene CD heißt: dieselbe Ausgabe, gekennzeichnet als „CD + Digital“. Remaster mit Zusatztiteln bleiben eigene Einträge.MP3, M4A, FLAC and more. Same track list as a CD you own means the same edition, marked “CD + digital”. Remasters with bonus tracks stay separate.

ErgänzenEnrich

Cover und GenresCovers and genres

Aus MusicBrainz und dem Cover Art Archive, Bilder aus deinen Musikordnern zuerst. Discogs als zweite Quelle. Überschreibt nie, was du eingetragen hast.From MusicBrainz and the Cover Art Archive, with images from your music folders first. Discogs as a second source. Never overwrites what you entered.

FindenFind

<1ms

Volltextsuche über Interpret, Album, Label und jeden Songtitel. Getestet mit einer Million Titeln. Findet auch Teilwörter.Full-text search across artist, album, label and every song title. Tested with one million tracks. Matches parts of words, too.

MitnehmenTake it with you

Export und SicherungExport and backup

Excel, OpenDocument, CSV oder Markdown. Die Excel-Datei stellt die ganze Sammlung samt Titellisten wieder her.Excel, OpenDocument, CSV or Markdown. The Excel file restores your whole collection, track lists included.

FilmeFilms

Gesehen und bewertetWatched and rated

DVD, Blu-ray, 4K und Dateien per Barcode, Titelsuche oder Ordner-Import. Poster und Handlung von TMDB, „gesehen“ mit Datum, eigene Bewertung von 1 bis 10 und eigene Listen. Ist ein Film schon da, sagt MediaDB es deutlich; taucht er in besserer Auflösung auf, fragt es, ob die neue Datei die alte ersetzen soll.DVD, Blu-ray, 4K and files by barcode, title search or folder import. Posters and plot from TMDB, watched with date, your own 1–10 rating and custom lists. If a film is already there, MediaDB says so clearly; if it turns up in a better resolution, it asks whether the new file should replace the old one.

SerienTV shows

Was fehlt?What’s missing?

Ordner vom NAS einlesen (S01E01, 1x01, Staffelordner, tvshow.nfo) oder Boxen scannen. Der Episodenführer von TMDB liefert die richtigen Folgentitel und zeigt, welche Staffeln und Folgen fehlen.Read folders from your NAS (S01E01, 1x01, season folders, tvshow.nfo) or scan box sets. The TMDB episode guide supplies the right episode titles and shows which seasons and episodes are missing.

BücherBooks

ISBN scannen, fertigScan the ISBN, done

Daten von der Deutschen Nationalbibliothek und Open Library. Dazu E-Books und Hörbücher aus Ordnern (EPUB, Calibre, M4B, MP3) und ganze ISBN-Listen auf einmal. Gelesen, Bewertung, Autoren und Buchreihen mit fehlenden Bänden.Data from the German National Library and Open Library. Plus e-books and audiobooks from folders (EPUB, Calibre, M4B, MP3) and whole ISBN lists at once. Read, rating, authors and book series with missing volumes.

PersonenPeople

Wer spielt mit?Who’s in it?

Ein Klick auf einen Namen zeigt alle Filme und Serien mit dieser Person in deiner Sammlung und darunter die, die dir noch fehlen.One click on a name shows every film and show with that person in your collection, and below them the ones you don’t have yet.

MerklisteWatchlist

Was kommt als Nächstes?What’s coming next?

Neue Staffeln und Folgen deiner Serien mit Datum und Streamingdienst (JustWatch über TMDB), dazu Filme und Serien, die du dir vormerkst. Und was davon gerade in den Mediatheken von ARD, ZDF oder Arte läuft, samt fehlender Folgen.New seasons and episodes of your shows with dates and streaming service (JustWatch via TMDB), plus films and shows you note down. And which of them are in the ARD, ZDF or Arte media libraries right now, missing episodes included.

VerliehenLent

Wer hat meine CD?Who has my CD?

CDs, DVDs, Blu-rays und Bücher an Freunde verleihen, mit Datum und Rückgabe. Eine Übersicht nach Personen zeigt, was wo ist. Dateien und E-Books bleiben außen vor. Mit Konten steht dabei, wem das Exemplar gehört.Lend CDs, DVDs, Blu-rays and books to friends, with date and return. An overview by person shows what is where. Files and e-books are left out. With accounts it also shows whose copy it is.

HaushaltHousehold

Wer ist da?Who’s there?

Mehrere Personen, eine Sammlung. Beim Öffnen auf den eigenen Namen klicken (PIN freiwillig) oder richtig mit Name und Passwort anmelden. Verwalter dürfen alles, Mitglieder ansehen und eintragen, Gäste nur stöbern. Die Konten liegen auf deinem Server, nicht in einer Cloud.Several people, one collection. Click your own name when opening MediaDB (PIN optional) or sign in properly with name and password. Administrators may do everything, members view and add, guests just browse. Accounts live on your server, not in a cloud.

Jeder für sichEveryone their own

Gesehen von …Watched by …

Gesehen, gelesen, eigene Bewertung, „Als Nächstes“ und die Merkliste hat jede Person für sich. Auf der Seite eines Films steht, wer ihn schon gesehen hat, bei Serien, wie viele Folgen jeder kennt.Watched, read, your own rating, “Up next” and the watchlist belong to each person. A film’s page shows who has already watched it, a TV show how many episodes everyone has seen.

BesitzerOwner

Wem gehört was?Whose is it?

Jede DVD, Blu-ray, Datei und jedes Buch hat einen Besitzer, oder es gehört dem ganzen Haushalt. Die Listen filtern nach „Meine“ oder „von …“, beim Verleihen steht, wessen Exemplar unterwegs ist.Every DVD, Blu-ray, file and book has an owner, or belongs to the whole household. Lists filter by “Mine” or “…’s”, and lending shows whose copy is out.

Als NächstesUp next

Was hören, sehen, lesen?What to play, watch, read?

Ein Klick auf „☆ Als Nächstes vormerken“ bei CD, Film, Serie oder Buch. Die Startseite zeigt alles Vorgemerkte in einer Reihe. Gesehenes und Gelesenes verschwindet von selbst. Mit Konten hat jede Person ihre eigene Reihe.One click on “☆ Mark as up next” for a CD, film, show or book. The home page shows everything marked in one row. Whatever you have watched or read disappears by itself. With accounts everyone has their own row.

StartseiteHome page

Alles auf einen BlickEverything at a glance

Drei Reihen statt vieler Listen: Als Nächstes, Gerade dabei (angefangene Serien, Bücher, die du liest) und das zuletzt Hinzugefügte aus allen Bereichen.Three rows instead of many lists: up next, in progress (shows you have started, books you are reading) and the latest additions from every section.

AnsichtenViews

Kacheln, Liste, TextTiles, list, text

Große Cover zum Stöbern, eine schmale Liste mit kleinen Bildern oder nur Text für den schnellen Überblick. Für Musik, Filme, Serien und Bücher getrennt gemerkt.Big covers for browsing, a slim list with small pictures, or text only for a quick overview. Remembered separately for music, films, shows and books.

SprachenLanguages

DE · EN · FR · ES · IT

Die Oberfläche spricht Deutsch, Englisch, Französisch, Spanisch und Italienisch. Beim ersten Start begrüßt dich MediaDB in allen fünf Sprachen, danach stellst du die Hauptsprache in den Einstellungen ein; wer zu Hause mehrere Sprachen spricht, bekommt dazu einen Umschalter oben in der Leiste. Getrennt davon wählst du die Sprache der Film- und Seriendaten samt Land.The interface speaks German, English, French, Spanish and Italian. On first start MediaDB greets you in all five languages; afterwards you set the main language in the settings; multilingual households can add a switcher to the top bar. Separately you pick the language and country for film and show data.

BereicheSections

Nur was du sammelstOnly what you collect

Nur Bücher? Nur Filme und Serien? Was du nicht brauchst, schaltest du in den Einstellungen aus, und es verschwindet aus Leiste, Startseite und Suche. Gelöscht wird dabei nichts.Only books? Only films and shows? Switch off what you don’t need in the settings and it disappears from the top bar, home page and search. Nothing is deleted.

HilfeHelp

Anleitung eingebautBuilt-in manual

Ein Klick auf das ? öffnet die Anleitung mit Bildschirmfotos in einem eigenen Fenster, passend zur installierten Version und auch ohne Internet, auf Deutsch oder Englisch.Click the ? to open the manual with screenshots in its own window, matching the installed version and working offline, in English or German.

FarbenColours

Deine FarbenYour colours

Hintergrund, Schrift und Akzente für Hell und Dunkel frei wählen, mit Vorschau. Ein Klick stellt die ursprünglichen Farben wieder her.Pick background, text and accent colours for light and dark mode, with a live preview. One click restores the original colours.

So sieht es ausHow it looks

Nach Interpreten sortiertSorted by artist

Die Startseite zeigt alle Interpreten von A bis Z, ohne führendes „The“. Ein Klick zeigt ihre CDs und Dateien, nach Erscheinungsdatum. Reiter trennen vorhandene CDs von rein digitalen Alben. Hell oder dunkel, auf Rechner, Tablet und Handy.The start page lists every artist from A to Z, ignoring a leading “The”. One click shows their CDs and files by release date. Tabs separate the CDs you own from digital-only albums. Light or dark, on desktop, tablet and phone.

Homelab

Für das Heimnetz gebautBuilt for the home network

Ein Docker-Container, eine SQLite-Datei, ein Ordner mit Covern. Läuft auf dem Mac, auf jedem Linux-Server, im Proxmox-LXC und auf dem Raspberry Pi.One Docker container, one SQLite file, one folder of covers. Runs on a Mac, any Linux server, a Proxmox LXC and a Raspberry Pi.

Im Terminal, in vier SchrittenIn the terminal, in four steps

  1. Die Datei docker-compose.homelab.yml von GitHub holen (Befehle im Kasten).Get docker-compose.homelab.yml from GitHub (commands in the box).
  2. Container starten. Das fertige Image kommt von GitHub.Start the container. The ready-made image comes from GitHub.
  3. Im Browser http://<rechner>:8000 öffnen.Open http://<host>:8000 in your browser.
  4. Unter Einstellungen deine E-Mail-Adresse (für MusicBrainz), einen kostenlosen TMDB-Schlüssel (themoviedb.org → Einstellungen → API, MediaDB weist beim ersten Start darauf hin) und deine NAS-Freigaben eintragen. Mehrere Personen richtest du unter Einstellungen → Nutzer und Anmeldung ein.Under Settings, add your e-mail address (for MusicBrainz), a free TMDB key (themoviedb.org → Settings → API; MediaDB points this out on first start) and your NAS shares. Set up several people under Settings → Users and sign-in.

Updates: in Dockhand Pull und Redeploy, sonst docker compose pull und neu starten. Der Ordner data mit Datenbanken und Covern bleibt dabei unberührt. Dazu kommt eine kleine Datei mit den Konten (data/nutzer.db), die mit in die Sicherung gehört.Updates: Pull and Redeploy in Dockhand, or docker compose pull and restart. The data folder with your databases and covers is left alone. Plus a small file with the accounts (data/nutzer.db) that belongs in your backup.

# Proxmox-LXC, Linux, NAS
mkdir -p /opt/mediadb/data && cd /opt/mediadb
curl -O https://raw.githubusercontent.com/luro611/mediadb/main/docker-compose.homelab.yml
docker compose -f docker-compose.homelab.yml up -d
ZugriffAccess
Ab Werk nur aus dem Heimnetz und über VPN. Optional mit Passwort.Home network and VPN only by default. Optional password.
PlattformenPlatforms
amd64 · arm64
Home Assistant
Vorbereitet, Add-on geplantPrepared, add-on planned
LizenzLicense
GPL-3.0

Mit Dockhand oder PortainerWith Dockhand or Portainer

  1. Auf dem Server einmal den Datenordner anlegen: mkdir -p /opt/mediadb/dataOn the server, create the data folder once: mkdir -p /opt/mediadb/data
  2. In Dockhand bzw. Portainer einen neuen Stack „mediadb“ anlegen.In Dockhand or Portainer, create a new stack called “mediadb”.
  3. Die Compose-Datei aus dem Kasten einfügen. Nur wenn du willst: Port oder Passwort anpassen.Paste the compose file from the box. Only if you like: change the port or password.
  4. Deploy klicken, dann im Browser öffnen und unter Einstellungen E-Mail-Adresse, TMDB-Schlüssel und NAS-Freigaben eintragen.Click Deploy, open it in the browser and add your e-mail address, TMDB key and NAS shares under Settings.

Neue Version: Stack öffnen, Pull und Redeploy. Welche Version läuft, steht unten auf jeder Seite.New version: open the stack, Pull and Redeploy. The running version is shown at the bottom of every page.

services:
  mediadb:
    image: ghcr.io/luro611/mediadb:latest
    container_name: mediadb
    ports:
      # links: Port im Browser, z. B. "80:8000" für http://<rechner># left: port in the browser, e.g. "80:8000" for http://<host>
      - "8000:8000"
    environment:
      # Passwort für die Anmeldung, leer = keins# sign-in password, empty = none
      - APP_PASSWORD=
      # 0 = nur Heimnetz und VPN# 0 = home network and VPN only
      - ALLOW_PUBLIC=0
      - BASE_PATH=
      - TZ=Europe/Berlin
    volumes:
      # deine Daten: Datenbanken, Cover, Einstellungen# your data: databases, covers, settings
      - /opt/mediadb/data:/app/data
      # optional, nur lesend; NAS lieber unter Einstellungen# optional, read-only; for a NAS use Settings instead
      - /opt/mediadb/medien/musik:/host/music:ro
      - /opt/mediadb/medien/filme:/host/movies:ro
      - /opt/mediadb/medien/serien:/host/series:ro
      - /opt/mediadb/medien/buecher:/host/books:ro
    restart: unless-stopped

Roadmap

Musik, Filme, Serien und BücherMusic, films, shows and books

Jede Medienart bekommt einen eigenen Bereich mit eigener Datenbank. Nichts wird vermischt.Each kind of media gets its own section and its own database. Nothing gets mixed up.

1.0

MusikMusic

fertigdone

1.1

FilmeFilms

fertigdone

1.3

SerienTV series

fertigdone

1.4 · 1.5

Merkliste, EinstellungenWatchlist, settings

fertigdone

1.6

BücherBooks

fertigdone

1.7 · 1.8

Verliehen, MediathekenLending, media libraries

fertigdone

1.9

NAS-Freigaben, VeröffentlichungNAS shares, publication

fertigdone

1.10 – 1.17

Ansichten, Sprachen, Farben, Hilfe, BereicheViews, languages, colours, help, sections

fertigdone

1.18 · 1.19

GitHub, Hinzufügen verbessertGitHub, better adding

fertigdone

1.20 – 1.22

Mehrere NutzerSeveral users

fertigdone

+

Home Assistant

geplantplanned

Daten & RechtData & legal

Deine Daten bleiben deineYour data stays yours

MediaDB fragt freie Dienste nach Titellisten und Covern: MusicBrainz und Cover Art Archive, optional Discogs, als Ausweichquelle für Cover iTunes und Deezer (abschaltbar). Film- und Seriendaten, Episodenführer und Poster kommen von TMDB, die Streaming-Angaben von JustWatch (über TMDB), Buchdaten von der Deutschen Nationalbibliothek und Open Library, Mediathek-Treffer von MediathekViewWeb (nur Links). Die Sammlung selbst verlässt deinen Rechner nicht. Es gibt kein Cloud-Konto, keine Telemetrie und keine Werbung; Konten für den Haushalt liegen nur auf deinem eigenen Server.MediaDB asks open services for track lists and covers: MusicBrainz and the Cover Art Archive, optionally Discogs, with iTunes and Deezer as a fallback for covers (can be switched off). Film and TV data, episode guides and posters come from TMDB, streaming information from JustWatch (via TMDB), book data from the German National Library and Open Library, media library hits from MediathekViewWeb (links only). Your collection itself never leaves your computer. No cloud account, no telemetry, no ads; household accounts live only on your own server.

Kein Angebot von und keine Verbindung zu MusicBrainz, Discogs, Apple, Deezer, TMDB oder JustWatch. Cover bleiben Eigentum der Rechteinhaber und werden nicht mit dem Programm verteilt. Gedacht für den privaten Betrieb im Heimnetz, nicht als öffentliche Website.Not affiliated with or endorsed by MusicBrainz, Discogs, Apple, Deezer, TMDB or JustWatch. Covers remain the property of their rights holders and are not distributed with the software. Meant for private use on a home network, not as a public website.

Haftungshinweis: MediaDB ist ein privates Hobbyprojekt und wird kostenlos unter der GNU GPL-3.0 bereitgestellt. Eine Gewährleistung wird nicht übernommen, soweit das gesetzlich zulässig ist. Die Nutzung erfolgt auf eigenes Risiko. Die Software ist nicht in allen Umgebungen getestet. Es besteht keine Verpflichtung zu Support, Fehlerbehebung oder Weiterentwicklung.Disclaimer: MediaDB is a private hobby project, provided free of charge under the GNU GPL-3.0. To the extent permitted by law, no warranty is given. Use at your own risk. The software has not been tested in every environment. There is no obligation to provide support, fixes or further development.