https://github.com/masonfox/tome
A Calibre-integrated book tracker; Goodreads but powered by your Calibre Library.
https://github.com/masonfox/tome
book-tracker calibre ebooks goodreads-clone reading-tracker self-hosted
Last synced: 4 months ago
JSON representation
A Calibre-integrated book tracker; Goodreads but powered by your Calibre Library.
- Host: GitHub
- URL: https://github.com/masonfox/tome
- Owner: masonfox
- License: mit
- Created: 2025-11-17T14:56:11.000Z (7 months ago)
- Default Branch: develop
- Last Pushed: 2026-02-13T02:53:56.000Z (4 months ago)
- Last Synced: 2026-02-13T10:56:32.301Z (4 months ago)
- Topics: book-tracker, calibre, ebooks, goodreads-clone, reading-tracker, self-hosted
- Language: TypeScript
- Homepage: https://demo.tomeapp.dev
- Size: 23.5 MB
- Stars: 52
- Watchers: 1
- Forks: 2
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
Awesome Lists containing this project
README
# ๐ Tome
**Tome** is a self-hosted book tracking web application that integrates directly with Calibre's database to provide reading progress tracking, status management, and streak functionality.
[๐ Get Started](#get-started) โข [๐ฎ Try Demo](https://demo.tomeapp.dev) โข [๐ฌ Community](https://github.com/masonfox/tome/discussions)
Additional Screenshots
**Library**

**Book Detail**

**Shelves**

**Shelf**

**Series**

**Journal**

**Streak**

**Goals**

**Tag Manager**

[](https://github.com/masonfox/tome/releases) [](LICENSE) [](https://github.com/masonfox/tome/stargazers) [](https://codecov.io/gh/masonfox/tome) [](https://github.com/sponsors/masonfox)
[](https://www.buymeacoffee.com/masonfox)
---
## What is Tome?
Tome is a local-first book tracking application that gives you durable ownership of your reading history. It seamlessly integrates with your existing Calibre library to track reading progress, sessions, and streaksโwithout disrupting your workflow or requiring cloud services.
Your reading data lives locally, under your control, and survives platform changes forever.
## Features
- ๐ **Calibre Integration**: Integrates directly with Calibre, automatically syncing your library
- ๐ **Reading Progress Tracking**: Track page-based or percentage-based progress with history
- ๐ **Enhanced Reading Streaks**: Daily streak tracking with configurable goals and analytics
- โถ๏ธ **Book Status Management**: Organize books by reading status (To Read, Read Next, Reading, Read, and DNF). Supports rereads while preserving previous reading sessions.
- ๐ท๏ธ **Robust [Tag Management](https://github.com/masonfox/tome/discussions/225)**: Easily remove a tag from many books in a single click, merge multiple tags into one, and bulk delete tags.
- ๐ **Statistics Dashboard**: Comprehensive reading statistics
- ๐ฅ **Annual goals**: Set and track annual reading goals
- ๐ **OPDS Catalog** - [OPDS](https://opds.io/) support to download books on the go with Tome enhancements ([docs](https://github.com/masonfox/tome/wiki/OPDS))
- ๐ช **Self-Hosted**: Full control over your data with no external dependencies
## Get Started
### Production Deployment
For detailed production deployment instructions, see [the deployment guide](./docs/DEPLOYMENT.md).
### Local Development
```bash
# Install dependencies
bun install
# Configure environment
cp .env.example .env
# Edit .env and set CALIBRE_DB_PATH to your Calibre library
# Run database migrations
npm run db:migrate
# (Optionally) run DB seeder
npm run db:seed
# Start development server
bun run dev
```
Visit [http://localhost:3000](http://localhost:3000) and sync your Calibre library from the Library page.
## โ ๏ธ Calibre Safety
Tome reads from and writes to Calibre's `metadata.db`. **Concurrent writes** (for example, editing tags or ratings in Tome while Calibre is running) can lead to database locks or unpredictable results. **Read-only access is safe!**
## Roadmap
Active development can be viewed [here](https://github.com/users/masonfox/projects/2/views/6), representing the upcoming release. Additionally, checkout repo [discussions](https://github.com/masonfox/tome/discussions) for [release](https://github.com/masonfox/tome/discussions?discussions_q=is%3Aopen+label%3ARelease) and [feature](https://github.com/masonfox/tome/discussions?discussions_q=is%3Aopen+label%3Afeature) announcements and more!
You're **highly encouraged** to create [issues](https://github.com/masonfox/tome/issues) and create [discussions](https://github.com/masonfox/tome/discussions)! ๐
## Documentation
Comprehensive documentation is available in the [`/docs`](./docs) directory:
- **[Documentation Index](./docs/README.md)** - Complete guide to all documentation
- **[Deployment Guide](./docs/DEPLOYMENT.md)** - Docker deployment, migrations, and production setup
- **[Database Management](./docs/DATABASE.md)** - Schema management, backups, and maintenance
- **[Troubleshooting](./docs/TROUBLESHOOTING.md)** - Common issues and solutions
- **[Architecture](./docs/ARCHITECTURE.md)** - System architecture and patterns
- **[Testing Guide](./__tests__/README.md)** - Testing patterns and best practices
## Contributing
Contributions are welcome! Before contributing, please:
1. Read the [Architecture Documentation](./docs/ARCHITECTURE.md) to understand the system design
2. Review the [Constitution](./.specify/memory/constitution.md) for project principles
3. Check the [Testing Guide](./__tests__/README.md) for testing best practices
4. Ensure all tests pass: `npm test`
## License
MIT
## Acknowledgments
Built with a focus on local-first architecture, durable data ownership, and seamless Calibre integration.