- Node.js 24+ (uses the built-in
node:sqlitemodule) - A TMDB API key (optional; enables posters, overviews, and discovery)
npm install
cp .env.example .env # add TMDB_API_KEY (or TMDB_READ_TOKEN)Export ratings and watchlist CSVs from IMDb, then drop them into ./exported
(or ./data). They're auto-classified by their column headers.
npm run import # load CSVs into the local database
npm run enrich # fetch posters + metadata from TMDB (resumable)The database is created automatically, and CSVs are auto-imported on first boot if the library is empty — so you can skip straight to running the app.
npm run dev # http://localhost:5173 (API on :3001)For a production-style single-port run: npm run serve.
See configuration and importing & exporting.