Skip to content

Web app + remote server #102

@phildenhoff

Description

@phildenhoff

We want to support Citadel running on two platforms:

  • As a standalone desktop app, with direct access to a SQLite DB on that machine
  • (new!) As a web app + remote server, where the web app talks to a remote server, and only the server has access to the SQLite DB

I want to add support for this new web app + remote server paradigm as I always felt like it was quite common. I may be blinded by my connection to /r/selfhosted and other self-hosted communities, but I think folks expect that their ebook management tools run as a Docker container that they can access from the web. This wasn't the approach I felt like I had to use, but I have to admit it has some obvious benefits.

  1. The OPDS story becomes obvious: the remote server hosts the OPDS server. Without a remote server, it doesn't really make sense. Calibre faces this problem: ok, yes, you can enable the OPDS server in Calibre and have your ereader point to it, but what happens if your IP changes? or your host machine is off? (e.g. I mostly use a laptop).
  2. Multi-user support makes sense. I don't, like, enjoy complexity and I'm not exactly overjoyed at the concept of adding OIDC into my book management app that is like 5 lines of code, but being able to share a library of my legally-acquired (I'm in Canada btw) ebooks for personal use with Legally Allowed To Use It Parties would be grade-A. Right now I share books by texting epubs if family knows to ask me; it's not exactly a smooth process
  3. I get to write the backend again. Listen I clearly love writing the backend, I've done that like four times now. At least with a rewrite second attempt 2nd server I'll have the chance to poke at getting libcalibre shareable for other projects. I started this in refactor: extract libcalibre crate #101 and look forward to continuing it. Sharing my anylist_rs had someone else using the project within what felt like a week of publication. That's amazing! Use the software, people! I share it with joy! Let me know about bugs!

Out of scope

We are not supporting two other platform configurations:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    In progress

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions