• fonix232@fedia.io
      link
      fedilink
      arrow-up
      24
      ·
      4 days ago

      It’s a pity Calibre to date refuses to be refactored into a self-hosted service.

      The core logic should be portable, with the app just being an interface to it, but no, the entire project is so much spaghetti it would feed the entire boot for over a year… such a shame.

      • Brewchin@lemmy.world
        link
        fedilink
        English
        arrow-up
        13
        ·
        4 days ago

        Agree, though calibre-web exists and runs in a single Docker container. I’ve been using it for a few years, and it’s great.

        Sure its a whole Linux server under the hood just to run Calibre and the services required to give it a web interface and API for reading apps - making it way bigger than it needs to be - but it does the job.

        • ohulancutash@feddit.uk
          link
          fedilink
          English
          arrow-up
          11
          ·
          4 days ago

          Calibre-web isn’t Calibre. It uses the same database, but that’s about it, unless you use the optional conversion mod on the linuxserver container.

        • fonix232@fedia.io
          link
          fedilink
          arrow-up
          8
          ·
          4 days ago

          A docker container is preferred, but again, CW isn’t Calibre. Same database but completely different management system + also lacking a lot of the sync opportunities.

          The issue is that there’s no open protocol for library syncing. It doesn’t exist because all big players (Amazon, Kobo/Rakuten, B&N, etc.) have their own proprietary system, and need no open alternatives.

          OPDS is a thing but it’s meant to replicate a physical library (one you can walk into) in behaviour and approach, not a personal library (list all books I have and give me easy access to them). It’s essentially just an RSS-style feed that has no defined structure, thus isn’t software navigable - e.g. there’s no guarantee you can list all book series, or all authors, and most implementations usually give you very roughly defined “recently added”, or “hot now” book lists…

          I’ve actually been working on a solution for this, something that provides an almost Kindle library experience (see all your books from a remote server, sync down the remote ebook file, sync back read progress, filter/search based on book properties, etc.), while being flexible enough for non-readers applications as well. But I haven’t even gotten to the point where I can define the API contract properly, let alone the backing database and mapping to Calibre. Honestly at this stage I feel like the best approach is starting from scratch, establishing modern requirements, and going from there.

        • ftbd@feddit.org
          link
          fedilink
          English
          arrow-up
          2
          ·
          4 days ago

          A docker container is not a whole separate Linux server, it uses the kernel running on the host

          • notfromhere@lemmy.ml
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 days ago

            With default runtime, very true. There are other runtimes that can be used that provide better isolation like gVisor, kata, firecracker, etc.

      • Fmstrat@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 days ago

        I switched. Kavita is the new hotness.

        I found it for comics, but realized it handled books as well as Caliber does, in a modern interface with OPDS support.

        • fonix232@fedia.io
          link
          fedilink
          arrow-up
          3
          ·
          3 days ago

          I tried Kavita and immediately recoiled at the fact that basic features like progress sync or metadata matching are behind a paywall - literally features that don’t cost the developers anything, while having open, active bug reports going back a year on these “premium” features.

          All while licensing the code under GPLv3…

          • Fmstrat@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 days ago

            Progress sync works fine for me in KOReader with OPDS. Progress Sync Scrobble (to third-parties) is the Kavita+ feature.

            My understanding was the Kavita+ items are things to do with third-party services and meta data providers that are an API/cost-based service to the dev. That being said I don’t use any of those features.

        • BackgrndNoize@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 days ago

          I’ve looked into Kavita before and it looks good, just need to figure out a way I can wirelessly connect to it using KOreader on my Kindle to transfer books and sync reading progress

          • Fmstrat@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            3 days ago

            The OPDS service works for me, just like on Calibre. I can browse my books from within KOReader.

            • BackgrndNoize@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 days ago

              I see, that’s good to hear, since KOreader has a direct integration with Calibre, when I connect it to my server it shows up as a external device in Calibre and I can select multiple books in Calibre and directly send to the Kindle in one click which I find more convenient than navigating a OPDS catalog from within my slow kindle and downloading books one by one, but maybe in the future when I get a better e-reader I will give Kavita a try.

              • Fmstrat@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                2 days ago

                My workflow is usually to add a book to my Want to Read list in Kavita, then on a reader I can go to that list through OPDS and browse just that list. Makes things much more managable assuming I don’t spam the list.