Isley: A Self-Hosted Cannabis Grow Journal

How I built Isley — a self-hosted grow journal in Go — to consolidate sensor monitoring, grow documentation, and harvest tracking into one app, and what a year of daily use has looked like.

Isley dashboard showing a live grow tent webcam view with real-time environment sensors, AC Infinity device controls, and Ecowitt soil moisture readings
Isley's main dashboard — live webcam, environment data, and device controls all in one place

If you caught my earlier post about Growcast — the 24/7 livestream of my grow tent — you might remember me mentioning Isley, the self-hosted grow journal that powers a lot of what you see on that stream. I figured it was time to give Isley a proper spotlight of its own.

Isley is a self-hosted cannabis cultivation management system I built in Go. The idea was simple: I was tired of juggling vendor apps for my AC Infinity controller, separate spreadsheets for tracking feeds and waterings, and random notes scattered across my phone. I wanted one place to track everything about my grows — environment data, plant journals, strain info, harvest metrics — and I wanted to own that data on my own hardware.

Isley GitHub repository showing 203 commits, 58 stars, and 9 forks
The Isley repo — 203 commits deep and still going

What It Does

At its core, Isley is a grow journal with real-time sensor integration. It pulls data directly from AC Infinity controllers and Ecowitt soil sensors, so your environment readings — temperature, humidity, VPD, soil moisture — are all captured automatically and graphed over time. There's also a custom HTTP API endpoint for ingesting data from Arduino, ESP32, Home Assistant, or whatever else you want to hook up.

Isley dashboard showing a live webcam view of the grow tent with environment sensors, AC Infinity device controls, and Ecowitt soil sensor readings
The main dashboard — live webcam view with environment sensors, AC Infinity devices, and soil moisture readings all in one place

Beyond the sensor data, you get structured grow journals with timestamped activity logging for watering, feeding, pruning, and whatever custom activities you want to define. Each plant gets its own detail page with a photo timeline, measurement history, and growth stage tracking from seed to harvest.

Isley plant detail page for Pocket Sand showing plant photo, grow details, status, sensor readings, and activity tracking buttons
Plant detail view — everything about a specific plant in one place

There's also a strain database that tracks genetics, breeder info, grow characteristics, and detailed profiles for each strain you work with. This has become one of my most-used features — being able to look back at a strain's expected cycle time, yield, and grow difficulty when planning the next run is incredibly useful.

Isley strain detail page for Cosmic Queen IX by Night Owl Seeds showing genetics, grow characteristics, yield expectations, and terpene profile
Strain database entry for Cosmic Queen IX — genetics, grow characteristics, flavor profiles, the whole picture

One of the smaller features that I find myself using constantly is the image overlay tool. You can upload photos and add text overlays with strain names, day counts, and custom watermarks — great for documenting progress without needing to fire up an image editor every time.

Isley image overlay editor showing a plant photo with customizable text overlays for strain name and day count
The image overlay tool — add strain names, day counts, and watermarks right in the app

A Year In

I've been using Isley as my personal grow management system for over a year now, and it's become one of those tools I genuinely can't imagine going back from. Having all my grow data in one place — environment trends, feeding schedules, harvest weights, strain notes — has made me a noticeably better grower. When something goes sideways, I can look back at exactly what conditions were like and what I was doing differently. When something goes right, same thing.

The project is at version 0.1.37 now with 37 releases behind it. It runs as a Docker container backed by either SQLite or PostgreSQL, supports multiple languages, has a mobile-friendly responsive UI, and even offers a read-only guest mode if you want to let people peek at your grow without giving them the keys.

The Growcast Connection

The latest feature that tied things together was building out an API endpoint specifically for Growcast. If you watch the livestream, the sensor overlays, plant info, and strain details you see on screen are all being pulled live from Isley's API. It's been satisfying to have these two projects click together like that — Isley as the data backbone, Growcast as the public-facing window into the tent.

Community

This might be my favorite part. The intersection of "people who self-host" and "people who grow cannabis at home" is not exactly a massive Venn diagram, but it turns out there are enough of us out there to form a community around this thing. I've started getting bug reports and pull requests from other growers using Isley, and it's genuinely cool to see other people finding value in something I built to scratch my own itch. There are 58 stars and 9 forks on the repo as I write this — small numbers in the grand scheme of open source, but meaningful when you consider how niche the target audience is.

What's Next

Things are generally pretty stable at this point, which is a nice place to be. The main thing on my radar is expanding the strain database. Right now it's a manual process — you add strains and their details yourself. I'd love to come up with a solid plan for a more comprehensive, community-driven strain database that could serve as a shared resource. Think detailed genetics, grow characteristics, terpene profiles, and real-world grow reports all in one searchable place. That's a big undertaking though, so I'm still noodling on the right approach.

Beyond that, alerts and notifications are on the roadmap, along with export and backup features. But honestly, the core of what Isley does — track your grows, log your data, and keep you organized — is solid, and I'm pretty happy with where it's at.

If you're a homegrower who likes to self-host, give it a look: github.com/dwot/isley. It runs great on a Raspberry Pi, a NAS, or whatever spare hardware you've got lying around. And if you find a bug or have an idea, throw up an issue or a PR — I'd love to hear from you.