GitHub - codebude/librislog: Just a book tracker. (original) (raw)

๐Ÿ“š Full Documentation ยท Quick Start ยท API Reference ยท Nightly Docs

Tests Docker Build Docs Build Python Svelte FastAPI License

Multi-user book tracking webapp โ€” maintain four reading lists, import books from Open Library & Google Books, scrape cover art, and get rich reading analytics โ€” all on your own hardware.

docker compose up -d โ†’ full data ownership, no vendor lock-in, no API keys required.


Quick Start

mkdir librislog && cd librislog curl -O https://raw.githubusercontent.com/codebude/librislog/main/docker-compose.yml curl -O https://raw.githubusercontent.com/codebude/librislog/main/.env.example cp .env.example .env

generate a random secret key

sed -i "s/CHANGE_ME_TO_32PLUS_CHARS/$(openssl rand -base64 32)/" .env docker compose up -d

Open http://localhost:8001 and create your account.


Screenshots

Dashboard Library Statistics

Reading Progress Book Import Administration


Why LibrisLog?


Features


API

The backend is a standalone FastAPI application. The full API is documented via Swagger UI at /api/docs when the server is running.

Create API keys from the web UI (Profile โ†’ API Keys) for headless access. See the API Reference for details.

cd backend uv sync uv run alembic upgrade head uv run uvicorn app.main:app --reload


Stack

Layer Technology
Backend FastAPI, SQLModel, SQLite, Alembic, Pydantic v2
Frontend Svelte 5, SvelteKit, Tailwind CSS v4, DaisyUI v5
Auth Session cookies, optional OIDC (Authlib)
Deployment Docker, Docker Compose
Package managers uv (Python), npm (Node)
Testing pytest + pytest-cov (backend), Vitest + Testing Library (frontend), Playwright (E2E)

Contributing

See the Developer Setup guide for instructions on running LibrisLog locally, running tests, and using the CLI tool.

This project was developed with the assistance of AI coding tools under a human-supervised workflow. No AI-generated code is committed without human review and approval.

License

MIT

Star History

Star History Chart