I’ve been trying out Kavita as an ebook software, and I really like it so far, with one exception. Accounts are all local to the app, and there is no ability handle user accounts through their site, similar to how Plex does it. This means that every time I screw up and have to set up again over the years, my users will have to get new invites and make new accounts. When I mess up Plex and have to reinstall, I can just add new permissions for the users already linked to my account, which makes it easy to transition everyone to a new server with minimal impact to my viewers.

Before I fully commit to Kavita, is there any program out there for ebooks that has accounts managed through a central server rather than my local one?

  • Admiral Patrick
    link
    fedilink
    English
    710 months ago

    I use Calibre-Web and external auth. The auth headers are added by Authelia + Nginx which sit in front of it.

    Not exactly turn-key, but since I was already using Authelia, it was simple enough to switch from local accounts to external.

    • @[email protected]
      link
      fedilink
      English
      210 months ago

      Similarly I use COPS (php calibre front-end)… But with no users or auth. If you can guess the URL you are in! Exciting.

        • @[email protected]
          link
          fedilink
          English
          110 months ago

          Thanks for the link. Yeah, my server is old. COPS is old, but still works great for me. .

          Calibre has built in server, but while running server (last I checked) it locks the db so you can’t do much with the Gui, can’t add books etc. Also I’m already running a a web server with php so it’s more efficient just to slap the COPS web app there rather than run yet another server.

    • @deletedporcupine
      link
      English
      110 months ago

      Any good resources you can point me to for that?

      • Admiral Patrick
        link
        fedilink
        English
        210 months ago

        I use the version packaged by linuxserver.io:

        https://docs.linuxserver.io/images/docker-calibre-web/

        Unfortunately, that’s about as good of docs as I’ve been able to find for it.

        To configure external auth, go to its web interface at /admin/config and then expand “Feature Configuration”

        There’s a checkbox for “Enable reverse proxy authentication” and below that a field to specify the header name that will contain the email address of the authenticated user. In my case, it’s REMOTE_EMAIL.

        That header will vary depending on what you have setup for authentication, but it needs to provide an email address that determines the user.

        My version is a little old, but from skimming the current docs, it may support OAUTH now.

  • @PotatoPotato
    link
    English
    610 months ago

    Just backup your data and restore it?

    • @[email protected]OP
      link
      fedilink
      English
      210 months ago

      Over the years, as I’ve learned more and gotten better at things, I’ve occasionally had the need to try new Linux distros or remake a VM to fix a bigger problem that I’m not skilled enough to detangle yet. I could probably get away with backups and restores now, but Plex’s account management has saved my butt several times over the years, so I figured it was worth checking to see if there was something similar out there.

  • Danny M
    link
    fedilink
    English
    310 months ago

    How about using LDAP? It’s a bit complicated to learn but it’s easy to integrate it in a bunch of applications and it allows you to manage user accounts and permissions in one central place.

    Maybe try LLDAP which is a modern implementation (haven’t used it myself) which is designed to be simplified and I assume more welcoming to newcomers.

  • @[email protected]
    link
    fedilink
    English
    310 months ago

    Jellyfin has a (plugin) opds server for ebooks that use the same accounts as the rest of jellyfin. I use calibre to deal with organization/metadata.

    If you have a bunch of plex users, switching to jellyfin might be a bridge too far.

  • @reddig33
    link
    English
    210 months ago

    I love the look and idea of Kavita, but I wish it was written in something like node.js instead of .net. It requires a handful of shared libraries on non-windows platforms, and I can rarely get it to work.

    • @[email protected]
      link
      fedilink
      English
      210 months ago

      It’s not as slick looking but take a look at Ubooquity. I have it on my Linux server and haven’t had any issues. Granted I mostly use it for sharing ebook files, not reading them on the server itself so it might not be what you’re looking for

    • @[email protected]OP
      link
      fedilink
      English
      210 months ago

      Have you tried the docker version? Works perfectly for me. Here’s my docker config if you want to give it a shot:

      sudo docker run -d
      –name=kavita
      -e PUID=1000
      -e PGID=1000
      -e TZ=YOUR/TIMEZONE
      -p 5000:5000
      -v path/to/kavita/config/:/config
      -v path/ro/kavita/ebooks/:/data
      –restart unless-stopped
      lscr.io/linuxserver/kavita:latest

      Edit the time zone and volume paths as needed. You can just make a new volume for config and it will fill it with settings stuff, and then point the data volume to the folder with your ebooks.

      The ebooks themselves need to be sorted a little differently depending on if they are PDF’s, ePub, or comics, but it isn’t to hard once you get the hang of it. Basically ePub likes to be in a subfolder and PDF likes to be in the root folder for some reason, otherwise it puts the PDF’s in a collection named after the subfolder.

      Overall, I’ve been really happy with Kavita and think it has a lot of potential, especially as an ebook extension of Plex since the layout is nearly identical.

  • @[email protected]
    link
    fedilink
    English
    110 months ago

    I recommend going with regular backups and maybe something like docker. Then you just have to restore the config volumes and all the accounts should still be there.