Your basil died because you guessed. "I think I watered it Tuesday?" No. You watered it last Friday, and the leaves gave up on Wednesday.

Most plant-care apps want your location, your camera, and an account tied to your email. All to answer one question: when did I last water this thing? You don't need the cloud for that. You need a simple log you control.

Here's how to build a self-hosted plant watering ledger in about 20 minutes.

Why not just use a plant app?

Because those apps sell the schedule of your home. When you water tells them when you're home, when you travel, and how often the house sits empty. A watering gap of five days is a nice signal that nobody's around.

A local ledger leaks none of that. It answers your question and tells no one else.

Step 1: Pick a lightweight tool

You don't need a database degree. Use Grocy — it's a self-hosted household manager that includes a "chores" feature perfect for recurring tasks like watering.

Or go even simpler with NocoDB, a self-hosted spreadsheet-database that runs in Docker and gives you a clean table view.

For this guide we'll use NocoDB because it's beginner-friendly.

Step 2: Run it in Docker

If you already have Docker on a home server or old laptop, drop this into a file called docker-compose.yml:

services:
  nocodb:
    image: nocodb/nocodb:latest
    ports:
      - "8080:8080"
    volumes:
      - ./nocodb:/usr/app/data
    restart: unless-stopped

Then run:

docker compose up -d

Open http://your-server-ip:8080 in a browser. Create your admin account. Done.

Step 3: Build the ledger

Create a new table called Plants with these columns:

  • Name (text) — "Kitchen basil"
  • Last watered (date)
  • Water every (days) (number)
  • Location (text) — "windowsill"

Add a row per plant. Every time you water, tap the plant and update the date. That's it.

Step 4: Make it tell you when to water

Add a formula column called "Due":

DATEADD({Last watered}, {Water every (days)}, 'days')

Now you can sort by the Due date. Anything in the past means: grab the watering can.

Step 5: Access it from your phone

NocoDB works fine in a mobile browser. Bookmark it on your home screen. If you want to reach it away from home, tunnel in with Tailscale instead of exposing it to the open internet — never port-forward a plant tracker.

The payoff

No guessing. No app account. No company learning your travel patterns from a fern.

Your one action today: spin up NocoDB, add your three thirstiest plants, and log today's watering. Next week you'll actually know — instead of squinting at drooping leaves and hoping.