# OPDS catalogs

> Books from Komga, Kavita, Calibre-Web or any OPDS server, and their files, in your notes and your reader.

[OPDS](https://opds.io) is the standard way a library server lists its books for reading apps. Turn it on in **Settings → Library Hub → Providers**, give it your server's catalog address, and its books join your notes. Their files open in the reader.

## What it brings

- **Notes for the books on the server.** A book you also have in Calibre joins that note (matched by ISBN, then title and author); one only the server has gets its own note (turn that off with **Notes for books only another provider has**).
- **Details:** the author, the series and its number where the server says them, the language, publisher and date where it gives them, and an ISBN when the catalog lists one.
- **Files in the reader.** **This book: Read** opens an EPUB, AZW3, MOBI or PDF the catalog offers, with your place remembered.

It is read-only, and OPDS carries no reading activity: it never changes anything on the server.

## Connect

Choose **Connect…** on the OPDS tile and fill in:

| Server | Catalog address | Login |
|---|---|---|
| **Komga** | `http://your-server:25600/opds/v1.2/catalog` | your Komga user and password |
| **Kavita** | the OPDS URL from your user settings (it has a key in it, like `http://your-server:5000/api/opds/<key>`) | none: the key is in the address |
| **Calibre-Web** | `http://your-server:8083/opds` | your Calibre-Web user and password |

The address is kept in Obsidian's keychain, because some servers put a key in it. The password is too.

## How it reads a catalog

It starts at the address, follows the catalog's menus and its next pages, and collects every entry that offers a file, once each. A big catalog takes a while: it stops after 2,000 requests and the sync says so. To read only part of a server, give the address of that part (Komga: `…/opds/v1.2/books/latest`, for example).

Komga and Kavita decorate their titles (Komga: `Salt Cycle 1: The Salt Keeper`; Kavita: `⭘ The Salt Keeper - The Salt Keeper`). Library Hub undoes both, and takes a series and number from Komga's. Another server's titles are used as they are. These two were checked against running servers; **Calibre-Web was not**, so if its titles or details come out wrong, tell me what its catalog looks like.

## Try it without your own server

`scripts/opds-test-servers.sh` starts a throwaway Komga and Kavita in Docker with two invented books each and prints the addresses and logins to paste in; `scripts/opds-test-servers.sh stop` removes them.

## What it sends

Requests go only to the server you name, with your login or key. Nothing from your vault is sent.
