I wanted a nice interface for all the papers, books, articles, etc. I've accumulated, so I created told an LLM to create this personal library (papers not included).
- Docker (with compose)
- Edit
docker-compose.ymland update thevolumesmapping to point to your documents directory, for example:
- Build and start in the background:
docker compose up --build -d
- Open http://localhost:8080
- The database and config persist in the
library_datavolume mounted at/data. - Initial scan begins automatically (
LIBINDEX_AUTOSCAN=1). Use the “Scan” button in the UI to rescan later. - PDF/EPUB viewers and thumbnails are bundled offline (no Internet required).
- View logs:
docker compose logs -f library - Rebuild after updates:
docker compose up --build -d - Stop:
docker compose down
- To disable auto-scan on startup, set
LIBINDEX_AUTOSCAN=0indocker-compose.yml.
- A sample unit is provided at
contrib/systemd/library-index.service.- Edit the
WorkingDirectoryto the absolute path of this repo. - Install and enable:
sudo cp contrib/systemd/library-index.service /etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl enable --now library-index.service
- This runs
docker compose up -don boot anddocker compose downon stop.
- Edit the


