root ada7de466a
All checks were successful
Release / Test backend (push) Successful in 50s
Release / Check ui (push) Successful in 1m52s
Release / Docker (push) Successful in 5m58s
Release / Gitea Release (push) Successful in 33s
perf: remove voice picker from profile, parallelize server load
Remove the TTS voice section from the profile page — it fetched
/api/voices on every mount, blocking paint for the full round-trip.
Voice selection lives on the chapter page where voices are already loaded.

Rewrite the server load to run avatar, sessions+stats, and reading history
all concurrently via Promise.allSettled instead of sequentially, cutting
SSR latency by ~2-3x on the profile route.
2026-04-11 10:41:35 +05:00

LibNovel

Self-hosted audiobook platform. Go backend + SvelteKit UI + MinIO/PocketBase/Meilisearch.

Requirements

Setup

doppler login
doppler setup   # project=libnovel, config=prd

Usage

just up          # start everything
just down        # stop
just logs        # tail all logs
just log backend # tail one service
just build       # rebuild images
just restart     # down + up
just secrets     # view/edit secrets

Secrets

Managed via Doppler (project=libnovel, config=prd). No .env files.

To add or update a secret:

doppler secrets set MY_SECRET=value
Description
No description provided
Readme 88 MiB
v4.5.5 Latest
2026-04-27 11:46:23 +05:00
Languages
Go 99.4%
Dockerfile 0.6%