ORCA -- a simple OPDS Server

181 views
Skip to first unread message

Kolja Wilcke

unread,
Dec 30, 2024, 8:29:02 AM12/30/24
to OPDS
Hello everyone,

I wrote a little OPDS Server that can connect to your Calibre library:


It supports http/https, basic authentication and multiple libraries.
I made it for my own use (to run in Docker on my NAS at home), but I'd appreciate it, if someone else found it useful as well.

Cheers,
Kolja.

Hadrien Gardeur

unread,
Jan 1, 2025, 4:08:15 PMJan 1
to OPDS
Hello Kolja,

It's always nice to see new projects and Rust feels like a great fit for this type of use-case.
Do you have a live demo of an instance running somewhere? I'd love to take a look at the OPDS output to see how the catalog is organized and which metadata are present.

Best,
Hadrien

Kolja Wilcke

unread,
Jan 3, 2025, 8:53:36 AMJan 3
to OPDS
I don't have a public demo avaliable for you -- but there is an entire Calibre database in the 'tests' directory.
This means, you could just clone the project from github (compile or otherwise install the binary) and run
```
ORCA_CONFIG=tests/orca.http.test.toml orca
```
... and you'll have an opds server running on 127.0.0.1:8888 (login: alice, password: secretpassword)

Regarding catalog and metadata:
I am using tera templates (have a look in the templates directory) -- they should be fairly easy to customise it to your needs.
The metadata is probably rather incomplete. If you tell me what's missing I'll include it.

Cheers,
Kolja.

Hadrien Gardeur

unread,
Jan 5, 2025, 10:40:59 AMJan 5
to OPDS
Hello Kolja,

I took a quick look at the templates and it looks like for now, you're only supporting OPDS 1.x.

A number of apps have switched to OPDS 2.0 over the last few years and I would really recommend looking into it (I'd be glad to share examples if you're interested).

Among other things, OPDS 2.0 supports an extended set of metadata and allows for better navigation. 

I'll need to look into what's in a Calibre DB, but based on what I've seen in the past, you could enhance publications with the following metadata:
- series info, such as the name of the series and the position of the current book in that series
- more specific contributor roles beyond authors
- include Calibre tags as subjects

OPDS 2.0 allows metadata-level links as well which are very convenient. This way you can include contextual links for series, contributors and tags as well.

You could also build a better homepage that goes beyond a simple list of links by mixing up navigation and publication in groups.

Best,
Hadrien

Kolja Wilcke

unread,
Jan 6, 2025, 7:31:32 AMJan 6
to OPDS
Thank you, Hadrien. This sounds good. I opened an issue over on Github.

Cheers,
Kolja.
Reply all
Reply to author
Forward
0 new messages