You didn't lose the book. You forgot the date. That's how libraries make money — quiet late fees on people with good intentions.

Here's the fix: a self-hosted due-date tracker that pings you before anything is overdue. Not just library books — borrowed drills, loaned games, that jacket your cousin still has.

Why not just use the library app?

The library app tracks your reading habits. Every renewal, every hold, every search sits on a server you don't control. Some library systems share this data with third-party analytics vendors. You wanted a novel, not a marketing profile.

A self-hosted tracker keeps that list on your machine. Nobody logs what you read.

The tool: Grocy

Grocy is built for pantry stock, but it has a hidden gem — a "chores" and "batteries" system that tracks anything with a return-by date. Beginners like it because it runs in one Docker command and has a friendly web interface.

docker run -d \
  --name grocy \
  -p 9283:80 \
  -v grocy_data:/config \
  linuxserver/grocy

Open http://your-server-ip:9283. Log in with the default admin / admin, then change it immediately.

Set up your "borrowed items" list

  1. Go to Batteries (yes, really — it's just a date-tracking module you can rename in settings).
  2. Add each borrowed item: "The Hobbit — City Library."
  3. Set the due date.
  4. Turn on the built-in reminder.

Grocy shows a dashboard of everything approaching its date. Green means fine. Yellow means renew soon. Red means you already owe a coffee's worth of fines.

Make it actually nag you

A dashboard you never open is useless. Wire Grocy's due dates to a notification you can't ignore.

Install ntfy — a tiny self-hosted push service. One container:

docker run -d -p 8080:80 binwiederhier/ntfy serve

Install the ntfy app on your phone, subscribe to a topic like library-alerts, and set a nightly cron job that checks Grocy's API for anything due in two days. When it finds one, it fires a push straight to your lock screen.

Now the reminder finds you — no app to remember to open.

The loaned-out trick

Flip it around. Track things you lent out. Add "Power drill — lent to Dave, 12 March." Two weeks later your phone buzzes: get your drill back. This alone pays for the ten minutes of setup.

One tiny privacy win

Don't type real names into a cloud service. On your own box, "Dave has my drill" is a note only you can read. That's the whole point of self-hosting — small facts about your life stay small and local.

Your takeaway: Spin up Grocy tonight, add the three things you've currently borrowed, and set one ntfy alert. Next month's late fine becomes a push notification instead of a surprise.