75e6a870d339575967fa6bb9ccb5a9963903ad66
Some checks failed
Release / Test backend (push) Successful in 43s
Release / Check ui (push) Failing after 38s
Release / Upload source maps (push) Has been skipped
Release / Docker / ui (push) Has been skipped
Release / Docker / caddy (push) Successful in 44s
Release / Docker / backend (push) Successful in 2m44s
Release / Docker / runner (push) Successful in 2m45s
Release / Gitea Release (push) Has been skipped
- Add POST /api/admin/image-gen/async: fire-and-forget image generation that stores the result (base64) in an ai_job payload and returns 202 immediately — no more 60-120s blocking on FLUX models - Add POST /api/admin/text-gen/description/async: same pattern for book description generation - Register both new routes in server.go - Rewrite image-gen admin page to use the async path (submit → redirect to AI Jobs for monitoring) - Extend ai-jobs page with Review panels for image-gen jobs (show image, Save as cover / Download / Discard) and description jobs (diff old vs new, editable textarea, Apply / Discard)
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