74ece7e94e86447c0a341dcc03ffc620da7963d5
Some checks failed
Release / Test backend (push) Successful in 38s
Release / Check ui (push) Failing after 27s
Release / Docker / ui (push) Has been skipped
Release / Docker / caddy (push) Successful in 43s
Release / Docker / backend (push) Successful in 2m50s
Release / Docker / runner (push) Successful in 3m3s
Release / Gitea Release (push) Has been skipped
Five new reader settings (persisted in localStorage as reader_layout_v1): - Read mode: Scroll (default) vs Pages — paginated mode splits content into viewport-height pages, navigate with tap left/right, arrow keys, or Prev/Next buttons. Recalculates on content change. - Line spacing: Tight (1.55) / Normal (1.85) / Loose (2.2) via --reading-line-height CSS var on :root. - Reading width: Narrow (58ch) / Normal (72ch) / Wide (90ch) via --reading-max-width CSS var on :root. - Paragraph style: Spaced (default) vs Indented (text-indent: 2em, tight margin — book-like feel). - Focus mode: hides audio player, language switcher, bottom nav and comments so only the text remains. Scroll progress bar: thin 2px brand-colored bar fixed at top of viewport in scroll mode, fills as you read through the chapter. All options added to the floating settings gear panel. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
LibNovel
Self-hosted audiobook platform. Go backend + SvelteKit UI + MinIO/PocketBase/Meilisearch.
Requirements
- Docker + Docker Compose
- just
- Doppler CLI
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