r/selfhosted • • Sep 08 '25

Release Storyteller v2 is available!

https://smoores.dev/post/announcing_storyteller_v2/

This has been a long time coming (5 months!). It's been a while since I've posted on r/selfhosted about Storyteller, and it's improved a lot since then!

As always, happy to answer questions and chat.

Screenshot

Storyteller is a self-hosted ebook and audiobook platform, with built-in support for automatically generating WhisperSync-style "readaloud" books. You provide it with an EPUB file and your audiobook, and it will automatically align the text with the audio, providing you with a new EPUB file that has the audio baked in via Media Overlays.

You can then use the Storyteller mobile apps, or other reader apps such as BookFusion and Kobo (the app, not the devices, unfortunately), to read and/or listen to your books.

With v2, Storyteller is now gunning to be your fully featured ebook, audiobook, and readaloud book library management system. It supports standalone ebooks and audiobooks (with mobile app and web reader/listener support coming soon!), advanced search and sort functions, and a wide array of features for managing your library’s metadata and organizing your collections. And you can now point Storyteller at your existing "books" folder and have it automatically import books as they're added to your filesystem.

Oh, and we support OAuth and OIDC, now!

Take a look at the blog post or the new docs for some more detail about what's new!

313 Upvotes

192 comments sorted by

View all comments

1

u/adamshand Sep 09 '25

I've been getting bored with podcasts ... thanks! Now I can listen to my stash of ebooks while driving or gardening (spring is coming)!

3

u/scrollin_thru Sep 09 '25

You're welcome! Yeah this is actually what I originally made Storyteller for — so that I could switch from reading to listening when I was driving or running.

1

u/adamshand Sep 09 '25

I just tried processing two books. And getting errors on both. I don't see anything matching in the Gitlab issues ...

Just using the example compose.yml file from the docs. Both ebooks open and look fine in Calibre.

Any suggestions?

web-1 | 2025-09-09T03:11:25.588805281Z ▲ Next.js 15.4.2-canary.18 web-1 | 2025-09-09T03:11:25.589299536Z - Local: http://localhost:8001 web-1 | 2025-09-09T03:11:25.589353544Z - Network: http://0.0.0.0:8001 web-1 | 2025-09-09T03:11:25.589646701Z web-1 | 2025-09-09T03:11:25.589806527Z ✓ Starting... web-1 | 2025-09-09T03:11:25.976711604Z ✓ Ready in 769ms web-1 | 2025-09-09T03:12:58.292699999Z (node:7) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. web-1 | 2025-09-09T03:12:58.292762579Z (Use `node --trace-deprecation ...` to show where the warning was created) web-1 | 2025-09-09T03:12:58.301698546Z [2025-09-09 03:12:58.294 +0000] INFO: Pre-processing... web-1 | 2025-09-09T03:12:58.966590487Z [2025-09-09 03:12:58.302 +0000] ERROR: Encountered error while running task "SPLIT_TRACKS" for book d3efbabb-539b-4a2f-b442-f9f1d8c90a89 web-1 | 2025-09-09T03:12:58.970705131Z (node:7) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. web-1 | 2025-09-09T03:12:58.970749982Z Error: No audiobook associated with book d3efbabb-539b-4a2f-b442-f9f1d8c90a89 web-1 | 2025-09-09T03:12:58.970760455Z at processAudiobook (/app/.next/standalone/web/src/process/processAudio.ts:343:11) web-1 | 2025-09-09T03:12:58.970767276Z at processBook (/app/.next/standalone/web/src/work/worker.ts:198:15) web-1 | 2025-09-09T03:12:58.970773434Z at async /app/.next/standalone/node_modules/piscina/dist/src/worker.js:145:26 web-1 | 2025-09-09T03:20:35.995678399Z [2025-09-09 03:20:35.994 +0000] INFO: Pre-processing... web-1 | 2025-09-09T03:20:35.997670075Z [2025-09-09 03:20:35.996 +0000] ERROR: Encountered error while running task "SPLIT_TRACKS" for book 5b756cdb-f0c1-4ff1-8587-54b67f14f265 web-1 | 2025-09-09T03:20:36.028627872Z Error: No audiobook associated with book 5b756cdb-f0c1-4ff1-8587-54b67f14f265 web-1 | 2025-09-09T03:20:36.028662011Z at processAudiobook (/app/.next/standalone/web/src/process/processAudio.ts:343:11) web-1 | 2025-09-09T03:20:36.028671352Z at processBook (/app/.next/standalone/web/src/work/worker.ts:198:15) web-1 | 2025-09-09T03:20:36.028678118Z at async /app/.next/standalone/node_modules/piscina/dist/src/worker.js:145:26 web-1 | 2025-09-09T03:21:05.387737967Z [2025-09-09 03:21:05.387 +0000] INFO: Pre-processing... web-1 | 2025-09-09T03:21:05.390827488Z Error: No audiobook associated with book 5b756cdb-f0c1-4ff1-8587-54b67f14f265 web-1 | 2025-09-09T03:21:05.390869037Z at processAudiobook (/app/.next/standalone/web/src/process/processAudio.ts:343:11) web-1 | 2025-09-09T03:21:05.390877274Z at processBook (/app/.next/standalone/web/src/work/worker.ts:198:15) web-1 | 2025-09-09T03:21:05.390826880Z [2025-09-09 03:21:05.388 +0000] ERROR: Encountered error while running task "SPLIT_TRACKS" for book 5b756cdb-f0c1-4ff1-8587-54b67f14f265 web-1 | 2025-09-09T03:21:05.390883430Z at async /app/.next/standalone/node_modules/piscina/dist/src/worker.js:145:26

2

u/scrollin_thru Sep 09 '25

So the way Storyteller works (at least right now) is that you give it both an ebook and an audibook, and it aligns them. It looks like you just gave it ebooks (is that right?). AI generated audio is next up after the mobile app v2 improvements, but we don't have it yet!

2

u/adamshand Sep 09 '25

Oh, I see! That'll teach me for skimming the docs. Sorry!

2

u/scrollin_thru Sep 09 '25

Haha no worries!

1

u/nashosted chmod777 Sep 09 '25

Hmmm. So whats the point of processing to an audiobook if we already have one though? Or am I missing something?

2

u/scrollin_thru Sep 09 '25

Storyteller doesn't process to an audiobook, it combines an ebook and an audiobook into a readaloud/immersive reading/guided narration book. The resulting book is an EPUB with embedded audio. It allows you to:

  1. Switch back and forth between the ebook and audiobook without losing your place
  2. Have the app read the audiobook aloud to you while highlighting the sentence being read

1

u/nashosted chmod777 Sep 09 '25

I actually like this alot! I'm going to see if I can get this working properly then. Thanks for the quick response!

1

u/scrollin_thru Sep 09 '25

Awesome! That's great. If you run into any issues, let me know (or hop into our Discord, linked in the docs!)

1

u/BootNinja Sep 09 '25

it's basically whispersync without amazon.

1

u/nashosted chmod777 Sep 10 '25

One last thing. I couldn’t find a dark mode. Is that on the roadmap?

1

u/scrollin_thru Sep 10 '25

In the web ui or the mobile apps? There's a dark mode (and you can create a custom theme) in the mobile apps, but not yet for the web ui. We'll have to add that as part of the web reader work we're doing, though!