E-reader Access
Nostos publishes your library as an OPDS catalog. Reading apps and e-readers that support OPDS can browse that catalog and download books directly from your library. Examples are KOReader, Thorium Reader and many mobile reading apps. You don’t need to copy files to the device by hand.
This page is for self-Nostos Cloud. Nostos Cloud gives you a username and password for your reader in the same place in Settings.
What the catalog offers
Section titled “What the catalog offers”- EPUB and PDF files.
- Audiobooks. A multi-track audiobook is offered as one download, together with a track list that apps which can stream audio use instead.
- A cover for each book.
Books without a file, such as physical books, are not in the catalog. The catalog is read-only, so a reader app cannot add, change or delete anything in your library.
Connect a reader
Section titled “Connect a reader”- Open Nostos from the address your reader will use. Use your machine’s address on your home network, for example
http://192.168.1.20:5099, or its Tailscale name. Don’t uselocalhost. - Go to Settings → Library → E-reader access and copy the Catalog address. It ends in
/opds/. - In the reader app, add a new OPDS catalog and paste the address.
If Settings says the address only works on this computer, you opened Nostos with localhost. Open it again from its network address and copy the address again.
Configuration
Section titled “Configuration”The catalog is on by default. These settings go in the Opds section of appsettings.json, or into environment variables named Opds__Name:
| Setting | Default | What it does |
|---|---|---|
Enabled |
true |
false removes the catalog completely. Settings then says that e-reader access is turned off |
PageSize |
50 |
Books per page of the catalog, up to 500 |
PublicBaseUrl |
not set | The address the links in the catalog use, for example https://nostos.example.ts.net. Usually not needed: see below |
Nostos builds the links in the catalog from the address the reader used to connect. Behind a reverse proxy that forwards the X-Forwarded-Proto and X-Forwarded-Host headers, this is already correct. Set PublicBaseUrl only when downloads fail because the proxy does not forward those headers.