Media & libraries
Three dedicated media types — books, CDs, DVDs/Blu-rays — each with its own purpose-built fields instead of generic free text. Any number of independent libraries, shared per user with fine-grained control.
MedInv catalogs physical collections automatically: scan a barcode, let it fetch title & cover art through metadata lookups, organize everything across any number of libraries — and search, analyze, and share it with others whenever you like. Runs entirely on your own infrastructure.
Six areas, one tool — from the first scan to the last backup.
Three dedicated media types — books, CDs, DVDs/Blu-rays — each with its own purpose-built fields instead of generic free text. Any number of independent libraries, shared per user with fine-grained control.
Scan a barcode or type a title — MedInv queries up to nine providers per media type automatically and downloads covers locally. A miss is never a dead end: manual entry always stays an option.
Full-text search with genuine typo tolerance, fine filters by genre, language, year, or price. Plus distributions and value history per library — including automatic currency conversion.
Three account levels — guest, user, admin — plus fine-grained sharing per library. Optional OpenID Connect/OAuth2 login alongside classic accounts, with brute-force protection.
Automatic and manual backups with configurable retention, plus a safety backup before every schema-changing update. Full instance restore or targeted per-library export.
18 bundled language packs, six themes, and its own CSS plugin system for a custom look — switchable per instance, with an editor for adding further languages.
Real interface, real sample data — no mockups.
A full-text search across every library you can see, combinable with structured filters — plus a genuine, typo-tolerant fuzzy search for when the name isn't quite on the tip of your tongue.
A single barcode is enough: MedInv queries every enabled metadata provider in parallel and merges the results field by field. No matching code on hand? Free-text title search works just as well.
Every library shows its holdings as a sortable, exportable list — including PDF export, multi-select for bulk changes, and direct access to every detail.
More than twenty metadata providers across all media types — API-based, web-scraping, or AI-powered — can each be enabled, configured, and tested individually, with no code changes required.
Seven ready-made tables answer what a chart alone can't: where are the duplicates? Which entries are missing a cover or price? What was added most recently?
Every library gets its own distributions — genre, language, director, medium, release year — plus a value history over time and automatic currency conversion for mixed holdings.
MedInv runs as a single, self-contained Docker image — with an embedded SQLite database, no separate database container required.
# Then available at http://localhost:8080
docker run -d \
--name medinv \
-p 8080:8080 \
-e MEDINV_ADMINUSER=admin@example.com \
-e MEDINV_ADMINPASS='ChangeMe123!' \
-v medinv-storage:/var/www/backend/storage \
--restart unless-stopped \
ghcr.io/vulture20/medinv:latest
The medinv-storage volume is what makes the database, covers, and backups survive restarts — always mount it.
Every option, including MariaDB/PostgreSQL support, is documented in the
README on GitHub.