Daily Notes for 2024-01-19

· 641 words · 4 minute read

Self-Hosted Calibre-Web 🔗

I was up early this morning, bothered by that thing I knew I would be where failing to locally containerize Calibre-Web was bugging me, so in lieu of making it an 18-hour workday I got to fussing around with the assorted components I needed to orchestrate:

  • Getting a Calibre-Web instance up and running in Docker
  • The DNS pieces
  • The router pieces
  • The local filesync pieces
  • The Kobo configuration piece

It wasn’t that bad in the end. Maybe an hour from start to finish. The apparently most-read Synology/Docker howto person has made a factory out of an idiosyncratic “just make a one-time Synology user task to run Docker” approach vs. a “fill in these fields” approach, but it helps bypass the “Docker in the context of Synology” issues you can run into, as well as the “UI keeps changing issues.”

The instructions worked fine, minus one false start because I want my desktop Calibre instance to just plop its stuff into a Syncthing folder the Synology can pick up, so there was a little work in making two sandboxes see each other on the filesystem. I’ve read it’s bad news to do a straight network fs mount with Calibre/Calibre-Web, so letting SyncThing just do everything in each local idiom seems to make a little more sense. We’ll see.

Getting books out of the Kobo and Kindle can be a hassle. They both sometimes “have” books that they don’t have in any sense of a “file” abstraction sitting in a “folder” abstraction on local storage, so you’re stuck not actually just emptying the device out for conversion, but going to your official web inventory and grabbing them from there one at a time. I appreciate (in a dismal, sour way) how they’ve made it possible to “backup your property” without taking the hour or two of developer time it would take to implement “show all, select all, download all.” You have to want it. I get it. Their interests are not my interests.

So the final test was finding a book in a non-Kobo format that I had not yet downloaded to disk, downloading it, feeding it to my desktop Calibre instance, then doing a sync on the Kobo to pull it in. All the pieces worked: Calibre-Web served it up to the Kobo as a .kepub file.

This is all better than doing this on the PikaPod. While there’s a turnkey charm to what they’re doing, there was some pain on the remote filesystem side trying to negotiate an sftp mountpoint. I’ve got a ton of books I’m going to have to manually download from here and there and get into Calibre, so having the option to do that at my desk, on the couch, or wherever and knowing my Tailscale/SyncThing infra will keep the library in sync is more to my liking.

Even better, even if I get sick of the whole Calibre-Web part and any maintenance it requires, plain old Calibre is working well to sideload everything to whatever e-reader I want to use.

Anyhow. Here we are 20 minutes from the actual start of the day, which is going to be a full one. I’m hoping things clear up enough to get to go see Ben, who turns 20 this week. This time 20 years ago I spent a week going out to the old ‘87 Volvo, deicing it, digging out any new ice or snow accumulation, and making sure it would start to ensure safe travel to the site of the blessed event. It looks like that out there this week, but the wind is worse, the power outages are ongoing, and the tree in the neighbor’s yard is shedding branches with loud cracks and crashes every few hours. So maybe it’s going to be “Happy Birthday” sung over a Facetime call.

Okay. Saving and pushing.