A small self-hosted OPDS server for ebook archives.
Browse by subject, search from reader apps, and fill in covers and metadata automatically.
- turns an ebook archive into an OPDS catalog
- gives you an explore-first browsing feed instead of search-only UX
- still supports OPDS search for clients like Foliate
- pulls metadata and covers from Open Library when available
- generates fallback covers when nothing better exists
Run with just:
just upOr without just:
docker compose up --buildThen open:
http://localhost:7451/opds
Stop:
just downOr:
docker compose downConfig
The defaults are enough to get started, but these are the settings you will most likely care about:
ARCHIVE_BASE: where your upstream archive livesARCHIVE_NAME: display name shown in feedsAPP_NAME: app name shown to OPDS clientsPUBLIC_BASE_URL: public base URL for generated linksDATABASE_URL: SQLite database locationRUST_LOG: log level and filters
Endpoints
GET /opdsGET /opds/search?q=...GET /healthz
Dev
just up
just test
just lint
just fmtMIT. See LICENSE.