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.
- Add, remove, update books
- Search books and see their location (useful if stored in bins, because you don't have space for tons of bookshelves)
- Autopopulate a book's fields by entering an ISBN (either by typing /isbn/[your-isbn]) into the address bar, or from the 'Add New Book" interface
- Reading list management for each user
- Book wishlist (just set owned=False, then update to True when you buy it)
- 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).
- No distractions -- it does what it needs to do and nothing else (by default).
- 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!
- Ebook support, with the ability to store ebook files and download from your reader (as long as it has a web browser)
- 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)! 8C35
- Modify content discovery via 'browse by genre' to be more practical for high numbers of books.
- Search by a specific location would be nice -- can be another interface.
- Limited UI customization -- what fields are displayed on the search results interface. This can easily break mobile compatibility though, but not everyone is using this on their phone, so being able to take advantage of that extra space is fine.
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.