More home server stuff. Reading is FUNdamental!

It’s been a good week for projects.  Maybe a good couple of weeks, actually – I kinda forgot when I started working on this particular one.

I mentioned last month that I’d set up a home server for the purpose of actually learning new things, and that’s been working pretty well.  It did eventually get moved from the card table into the server closet, though there was a bit of a misunderstanding on my part when it came to the question of whether or not it would fit in my rack.  I thought it would, but physics disagreed and physics always gets the final word in this house.

Oh man.  Now I want a rainbow yard sign that starts with “in this house, we follow the laws of thermodynamics” and just goes from there.

It can go next to our Litany Against Fear sign.

(Note: We do not actually have this sign.  I live in the Pacific Northwest and our neighbors have no sense of humor.)

But, I digress.

At any rate, this most recent project has been setting up a self-hosted server to host our collection of comic books, manga, and assorted eBooks, and I’ve discovered that there is no such thing as one server that does everything.

I mean, first things first – we have a couple thousand books purchased through the Kindle and Apple Books stores.  There’s no real way to integrate those into anything self-hosted.  But we also have a lot of stuff that has been just kind of accumulated, whether that’s ePub format comics from Humble Bundles or PDFs from DriveThruComics or, let’s be honest, a WHOLE lot of pirated comic books that were mostly accumulated long enough ago that Demonoid was still under its original management.

Side note: Those books have been the reason I’ve been doing a lot of shell scripting recently, and abusing the heck out of generative AI.   There were about 30,000 files and many of them were duplicates and there was no standard for naming and some were rar files and some zips and it was a big old mess.  I’ve deleted about 10,000 and normalized about another 13,000 but I have a long way to go.  Being able to ask Copilot for a script that, say, descends into a directory tree and removes all instances of # from file names and pads all numbers to three digits with leading 0s has been a huge help.

Anyway, I’ve been experimenting with three different self-hosting solutions: Komga, Kavita and Suwayomi.

Komga

First, Komga.  Amazing for comics and manga – it handles the 2-page spreads in ePub files from Humble Bundle, which neither of the other two does well with.  It also doesn’t much care what format things are in and doesn’t have any particular mandates as far as naming conventions are concerned.  While I am still putting a considerable amount of time into normalizing filenames, if I just wanted to point a server at a bunch of unsorted folders to give me access to them via an internet browser, this would win.

I haven’t messed around with its metadata features at all.

Biggest downside:  Importing new media is SLOW.  Like, I assume it is doing some serious processing of each file but it seems to take an inordinate amount of time to do so.

Kavita

Next, Kavita.  I actually like Kavita a lot, but it falls down with the 2-page spreads in Humble Bundle ePubs and is very picky about how it wants its content organized on the disk.  It’s much faster than Komga when importing new content but that isn’t something you do much after you have your library set up.

It is, however, the absolute best for reading ePubs with words in them, as it has a ton of font size and line spacing options.

Suwayomi

Finally, Suwayomi.  Suwayomi is a single purpose app – it does manga, and that’s it.  This is a weird one, because it really doesn’t want to work with local copies of manga and doesn’t like stuff organized by volume rather than chapter.  It wants to read stuff off web sites, with optional downloads, and anything it does beyond that falls into “happy accidents”.

Really, it’s a piracy app that also works as a dang good aggregator for reading questionable manga translations.  My wife has absolutely taken to it, so big props to the Suwayomi team for making something that justifies all of my work.

If I could have one wishlist item for Suwayomi, it would be multi-user support.  We have pretty different tastes in manga and don’t really want to see each others’ manga libraries.  Fortunately, since I’m running it in an Unraid Docker container, it took basically no work to spin up a second instance of Suwayomi and now we have separate libraries based on the port number you connect to.

It ALSO made me figure out Tailscale so she can read manga while she’s on the go.  So that was a huge win!  I’m still kinda uncomfortable with allowing external access to our network, but Tailscale is big enough and reputedly secure enough that I figure I can trust them.

So, which one will I be going with?  Well, that’s the neat thing.  I can’t pick.  None of them do EVERYTHING I want, but each of them has one thing they are just really amazingly good at.

So, in the end… I’m running all three.  Thank God for Docker.

Once I get all of the media actually sorted out, I may want to look into some sort of tablet app for these, for offline reading.  That will probably be its own sort of fun.

 

This entry was posted in comics, homelab, organization. Bookmark the permalink.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.