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?
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.
Similarly I use COPS (php calibre front-end)… But with no users or auth. If you can guess the URL you are in! Exciting.
This seems like a much more maintained fork. Though Calibre has a builtin OPDS server these days.
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.
Any good resources you can point me to for that?
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.
Just backup your data and restore it?
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.
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.
Are jellyfin accounts handled through their own account system like Plex?
No. Jellyfin accounts are local. So you need to set them up on the server. No external auth system
Looks like there is an LDAP auth plugin: https://github.com/jellyfin/jellyfin-plugin-ldapauth
If you ran such a beast.
Jellyfin does books but its a little wonky right now from.my experience
Are you optimistic about the Jellyfin epub library support?
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.
Thanks, I will have to do some googling about that today.
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.
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:latestEdit 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.
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
It’s worth pointing out that Ubooquity is dead in terms of development.
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.