uBiblio is a small and fast web application to help you manage your personal library (and share it with friends, or form a book club). It provides a unified interface for both physical books and ebooks. It is free, open-source, designed for self-hosting, and will never contain ads or spy on you.
You don't have to connect it to the Internet. It can run on your LAN. Or even on a single computer with no network access at all. If you do connect it to the Internet though, it supports federated inter-library search!
- Add, remove, update and search books. Physical and ebook management.
- User management! Admins can invite new users via one-time-use link.
- Autopopulate a book's fields by entering an ISBN, either manually or with your device's camera!
- Reading list management for each user, and a wishlist for the library (set owned=False)
- Withdraw and return books. Display a list of withdrawn books (to help put them away or figure out who has them).
- Admin users can access all features. Non-admin can only search, manage their reading list, and withdraw/return books.
- Content discovery (browse by genre).
- Works on most phones and ebook readers.
- Really quite fast, low memory requirements for hosting (~100MB). Simple, distraction-free UI.
- Docker, Docker Hub image, and no-container install options. A big thanks to m0ngr31 for helping with this!
- Backup management, for both the database and files!
- Optional support for cover / book images (up to 16 for each book), with thumbnail support. You can now judge books by their cover (but only if you want to)!
- A luxurious TWO optional custom fields, in case your library is structured differently than mine. Set them up in the admin menu.
- It even runs on RISCV64 with memory to spare (check out the cursed branch)!
- Aussi disponible en français! Démarrez ubiblio avec LANGUAGE='FR'
Raise an issue here on Github explaining the feature you want (or want to add yourself). Then make a PR! If you are using an AI to assist, please let me know (and test first!), and keep the PR size to a minimum so that I can manually review it.
For bug reports, the process is the same. Maybe also include the steps to reproduce it.
Things I especially need help with: testing, getting more scalable language support in, adding in some kind of integrated help or wiki.
The HTML theme is modified from "forty" by HTML5UP (https://html5up.net/). Actually, check out their other themes too. They are excellent and provide the themes under CC Attribution 3.0 (https://html5up.net/license). It's a huge timesaver for building things like this. So please leave the attribution in the footer.


