> ## Content Index
> Fetch the complete content index at: https://corelab.tech/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to Integrate Ghost CMS with Home Assistant Natively (2026 Guide)
- URL: https://corelab.tech/ghost-cms-home-assistant-integration/
- Published: 2026-05-27T11:20:24.000Z
- Updated: 2026-10-29T03:44:48.000Z
- Description: Stop wasting time checking dashboards. Learn how to natively connect Ghost CMS to Home Assistant to monitor MRR, subscribers, and trigger custom automation.
- Author: Core Lab Joe
- Tags: Home Assistant, Ghost Blog, Automation, #2026, #table-of-content

If you run your own Ghost publication and already have Home Assistant somewhere in your rack, VM cluster, or homelab, there is now a surprisingly good (and fun) reason to connect the two!

Ghost has officially released a native integration for Home Assistant, meaning your publication metrics can now appear **directly inside your dashboards**, automations, wall panels, mobile notifications, and even physical hardware projects! I don't track Ghost's or Home Assistant's roadmap but I thought this was a wonderfully surprising partnership.

> This is **not** a community hack or a fragile webhook chain. It is now built directly into Home Assistant.

For self-hosters, this is one of those oddly perfect overlaps: your content platform can finally become part of the rest of your infrastructure.

👍

This post is in paid-subscriber early-access mode! It will be unlocked in 1 week for everyone ✔️

---

## 📊 What the Native Ghost + Home Assistant Integration Tracks

Once connected, Home Assistant polls your Ghost API every 5 minutes to pull live metrics directly from your site database, exposing them as standard entities:

- **Audience Data:** Total members, paid subscribers, and free members.
- **Financial Metrics:** Monthly Recurring Revenue (MRR) and Annual Recurring Revenue (ARR) *(Note: Requires an active Stripe connection)*.
- **Content Volume:** Total published posts and current draft counts.
- **Newsletter Performance:** Email open rates, raw click volumes, total sends, and click-through rates.
- **Federated Traffic:** SocialWeb/ActivityPub followers and following metrics (if running Ghost 6.x or newer).

Because Home Assistant exposes these as **native sensor states**, they behave exactly like a smart thermometer, a motion sensor, or a power meter. You can map them into automated routines, map them to physical LEDs, or aggregate them alongside your existing infrastructure stats.

That means you can:

- Add your subscriber count to a Home Assistant dashboard
- Trigger a phone notification when you gain a new paid member
- Flash an RGB strip in your office when a newsletter goes live
- Put your MRR on a tiny ESPHome display in your office
- Track publication growth beside your server uptime, Plex/Jellyfin stats, and UPS battery level

For anyone already running a homelab-centric Ghost blog, this crosses the line from “neat gimmick” into “actually useful.” I mean, it's fun and helps 'gamify' running your own website!

---

If you've not setup your own Home Assistant yet, NOW is the time! Check out my guide, you'll be up and running in no time! 

[Core Lab Home Assistant Complete Setup. ](https://corelab.tech/ultimate-home-assistant-guide/) 

[Building the Ultimate Home Assistant Server (2026 Edition)Stop building your smart home on a fragile SD card. Here is the professional guide to running Home Assistant on an N100 Mini PC with Docker - fully unlocked and “Add-on” free.![](https://static.ghost.org/v5.0.0/images/link-icon.svg)Core LabCore Lab Joe![](https://corelab.tech/content/images/thumbnail/Ultimate-Home-Assistant.webp)](https://corelab.tech/ultimate-home-assistant-guide/)

---

## 🛠️ Step-by-Step Setup: Adding Ghost to Home Assistant

The configuration process is refreshingly straightforward and completely free for self-hosters.

### Step 1: Verify System Prerequisites

The integration requires **Ghost 6.0 or later**. If you use Ghost(Pro), this is already live. If you are self-hosting your instance via Docker or a bare-metal stack, pull down your latest images and run your container database updates before proceeding.

### Step 2: Create a Ghost Admin API Integration

Inside Ghost Admin:

1. Go to **Settings → Integrations**
2. Under **Custom Integrations**, click **Add custom integration**
3. Name it something like `Home Assistant`
4. Copy the:
  - API URL
  - Admin API Key

⚠️

****Security Tip:** Ensure you copy the ****Admin API Key**, **not* the Content API Key. Home Assistant requires the administrative tier string to pull restricted revenue and subscriber metrics.

![](https://corelab.tech/content/images/2026/05/Create-Custom-Integration-for-Ghost-.webp)

![](https://corelab.tech/content/images/2026/05/API-Keys-for-custom-HA-Ghost-integration.webp)

Screenshot 1 - Add custom integration, screenshot 2 - Copy that Admin API key!

---

### Step 3: Initialize the Integration in Home Assistant

As of the **Home Assistant 2026.3** release core update, this component is entirely ***native***. No HACS installations or custom repositories are required.

1. Navigate to your Home Assistant interface and go to **Settings** → **Devices & Services**.
2. Click **Add Integration** in the bottom right corner.
3. Search for **Ghost** and select it.
4. Paste your credentials into the prompt fields:
  - **URL:** Input your full domain (e.g., `https://corelab.tech/`)
  - **Admin API Key:** Paste the long custom string generated in Step
5. Hit submit.

Within a few seconds, your system will auto-populate with your new publication entities, mapping names like `sensor.ghost_total_members`, `sensor.ghost_paid_members`, and `sensor.ghost_mrr`.

### Step 4: Deploying Entities to a Dashboard

To verify the data pipeline, go to **Settings** → **Devices & Services** → **Ghost** and click **Add to Dashboard**. You can assign the standard card entities to any layout panel you prefer and customize their visual arrangement later.

![](https://corelab.tech/content/images/2026/05/HA-Settings---Devices-and-Services.webp)

![](https://corelab.tech/content/images/2026/05/Ghost-HA-integration.webp)

![](https://corelab.tech/content/images/2026/05/Ghost-HA-Add-to-dashboard.webp)

Once you click add to dashboard, pick whichever one you'd like it to show up on, can change it later very easily!

---

## 🏢 Dashboard Strategy: The Creator Command Center

This is where the platform crossover becomes **highly valuable (In my opinion)**. You can arrange your cards to view your technical server health AND your business health simultaneously!

By utilizing section views, you can build a unified **Creator Ops** panel. Imagine looking at a single dashboard display monitoring:

- **Site Health:** WAN Gateway IP status, Domain SSL certificate expiration days, and rolling container uptime percentages.
- **Growth Metrics:** Net-new weekly subscriber counts, current MRR targets, and newsletter engagement metrics.
- **Hardware Overhead:** True NAS pool storage capacities, active UPS battery runtimes, proxy connection logs, and host CPU temperatures.

This layout allows you to view your platform audience alongside the immediate hardware metrics sustaining it, while keeping your high-risk core infrastructure management layers cleanly isolated.

### **Creator Command Center**

![](https://corelab.tech/content/images/2026/05/Core-Lab-HA-Dashboard-3.webp)

Top half of my dashboard

🫠

I know, still needs a lot of work!

You can see above, where I kind of grouped things I thought were relevant and created some more visual cards. Once you play around with HA cards you quickly get a feel for what visuals you like, and what data is important to you. For me, **user interaction with Core Lab** is my top priority and I wanted to see that first, along with the newsletter stats.

![](https://corelab.tech/content/images/2026/05/Ghost-HA-Dashboard-bottom-half-of-page-1.webp)

Bottom half of my dashboard

This is pretty neat, as you see I have my WAN IP, if the domain is online, and various lengths of 'uptime'. Not bad eh? My goal is to get that 365 day uptime to 99.9% vs the current 99.85% it's at presently 😉

You could create a similar dashboard showing:

- Paid members
- MRR
- New subscribers this week
- Newsletter open rate
- Latest post count

And pair it with your existing homelab dashboard that already tracks:

- NAS status
- UPS battery
- Docker containers
- CPU temperature
- Internet uptime

That creates a single “**creator ops**” dashboard where your site and infrastructure live together. I kept my "infrastructure" (homelab) separate from my Core Lab Site info though. I might just... Do that soon.

---

## **🕹️ Gamifying Growth: Milestone Automation Tutorials**

Tracking data is useful, but building automated actions around milestones is what makes Home Assistant so powerful. Let’s build a fun automation that celebrates hitting a major operational milestone - such as welcoming your **25th Paid Subscriber -** by flashing your office light fixtures in an RGB loop. Ridiculous, and fun!

Here's a gallery of pictures and below that will be the description of how to build it.

![](https://corelab.tech/content/images/2026/05/Core-Lab-Paid-subs-automation-when.webp)

![](https://corelab.tech/content/images/2026/05/Core-Lab-Paid-sub-automation-template.webp)

![](https://corelab.tech/content/images/2026/05/Core-lab-paid-sub-automation-office-light.webp)

![](https://corelab.tech/content/images/2026/05/Core-Lab-25-paid-subs-disco-lights.webp)

From top left to bottom right, step your way through and don't forget to click the little 3 dots and "duplicate" steps as needed!

Pretty simple to setup but a lot of fun whenever that happens😄 The automation on your lights might be a little different depending on the hardware & plugins you have.

### Option A: The Visual Automation UI Setup

1. Go to **Settings** → **Automations & Scenes** → **Create Automation**.
2. **Add Trigger:** Choose **Numeric State**. Set the Entity to `sensor.ghost_paid_members` and set the **Above** parameter to `24`.
3. **Add Condition:** Choose **Template**. To ensure this only fires exactly when passing the boundary line, insert the following condition: `{{ trigger.from_state.state | int < 25 }}`
4. **Add Action:** Choose **Repeat**. Set the repetition count loop value to `5` or `10`.
5. Inside the repeat loop action sequence, add a service call to `light.turn_on`, targeting your desk lamp or office smart bulb, and set your target color value blocks to alternate between red, green, and blue with a short millisecond delay macro placed between transitions.

> 💡 **Hardware Callout:** If you are deploying this loop on consumer-tier Wi-Fi hardware (like Meross smart bulbs), avoid embedding a `transition:` command inside rapid repeat loops. Doing so can choke the local hardware controller firmware and cause the light to drop offline. Stick to hard state changes with micro-delays instead.

### Option B: The Raw YAML Blueprint

If you prefer pasting your automations directly into your code editors, use this blueprint structure:

```yaml
alias: "Creator Ops: 25 Paid Subscriber Celebration"
description: "Flashes office lighting infrastructure when hitting membership milestones"
trigger:
  - platform: numeric_state
    entity_id: sensor.ghost_paid_members
    above: 24
condition:
  - platform: template
    value_template: "{{ trigger.from_state.state | int < 25 }}"
action:
  - repeat:
      count: 5
      sequence:
        - service: light.turn_on
          target:
            entity_id: light.office_lamp
          data:
            rgb_color: [255, 0, 0]
            brightness_pct: 100
        - delay:
            milliseconds: 250
        - service: light.turn_on
          target:
            entity_id: light.office_lamp
          data:
            rgb_color: [0, 255, 0]
            brightness_pct: 100
        - delay:
            milliseconds: 250
  - service: light.turn_on
    target:
      entity_id: light.office_lamp
    data:
      color_temp_kelvin: 3000
      brightness_pct: 70
mode: single
```

As always - Test using:  
**Run Automation**

---

## 📈 Next Steps: Active Tracking & Infrastructure Upgrades

Once you have your membership loops finalized, you can start building metrics trackers for your email campaign deliveries. For instance, you can construct a **Newsletter Success Loop** that watches your `sensor.ghost_latest_newsletter_open_rate` and drops an encrypted mobile notification alert directly to your phone when an article delivery crosses a 50% open threshold.

Ghost and Home Assistant are both dominant power-user frameworks in their respective spaces. One handles the distribution of your digital intellectual property; the other governs your physical space and computing environments.

📡

My next step will be integrating ****Docker monitoring into HA**, and then I can also keep a direct eye right on my Ghost CMS docker containers & their performance!  
  
Let me know if this interests you or there's another monitoring / analytics angle you're looking at?

> Unifying them natively takes less than five minutes and opens up endless creative optimization avenues.

---

## Final Thoughts **\\ What Next?**

So there's an almost limitless set of automations you can make with HA, depending on the hardware & software you run, and I am sure those more creative than me will come up with some fantastic ones! **Please share in the comments** so we can all enjoy making cool stuff!

If you aren't running HA yet, absolutely [jump to my guide](https://corelab.tech/ultimate-home-assistant-guide/) and fire it up so you're not missing out - it's just [another docker](https://corelab.tech/home-assistant-docker-vs-os/)! 👇

[Building the Ultimate Home Assistant Server (2026 Edition)Stop building your smart home on a fragile SD card. Here is the professional guide to running Home Assistant on an N100 Mini PC with Docker - fully unlocked and “Add-on” free.![](https://static.ghost.org/v5.0.0/images/link-icon.svg)Core LabCore Lab Joe![](https://corelab.tech/content/images/thumbnail/Ultimate-Home-Assistant-1.webp)](https://corelab.tech/ultimate-home-assistant-guide/)

Check out all my Ghost posts so far, if you run a Ghost blog or are thinking about it:

[Ghost Blog - Core LabLearn homelabs, self-hosting, Docker, Plex/Jellyfin & NAS builds. Step-by-step guides & scripts to build, secure, and optimize your own home server.![](https://static.ghost.org/v5.0.0/images/link-icon.svg)Core Lab![](https://corelab.tech/content/images/thumbnail/NewLab-1.png)](https://corelab.tech/tag/ghost-blog/)

As always, you [***will need*** a reverse proxy](https://corelab.tech/swag-reverse-proxy-guide/) for these fantastic tools. Go slam this guide out and get [yours up or hardened today](https://corelab.tech/crowdsec-fail2ban-swag-hardening/).

[Self-Hosting SWAG: The Ultimate NGINX Reverse Proxy Guide (2026 Edition)Forget Nginx Proxy Manager. Learn how to set up LinuxServer.io SWAG with CrowdSec, Authelia, and the new Dashboard Mod for a secure, automated reverse proxy stack.![](https://static.ghost.org/v5.0.0/images/link-icon.svg)Core LabCore Lab Joe![](https://corelab.tech/content/images/thumbnail/SWAG-Banner-3.webp)](https://corelab.tech/swag-reverse-proxy-guide/)

[Homelab Security Guide (2026): Hardening SWAG, Authelia & CrowdSecStop brute-force attacks and secure your self-hosted apps. Learn to deploy SWAG with CrowdSec and Authelia for an A+ security rating and Zero Trust access.![](https://static.ghost.org/v5.0.0/images/link-icon.svg)Core LabCore Lab Joe![](https://corelab.tech/content/images/thumbnail/Digital-Fortress.webp)](https://corelab.tech/crowdsec-fail2ban-swag-hardening/)

---

## ❓ Frequently Asked Questions (FAQ)

### What version of Ghost do I need for the Home Assistant integration?

You need Ghost 6.0 or later. If you're on Ghost(Pro), this is already live. If you self-host via Docker or bare-metal, you'll need to pull the latest images and run your database updates before the integration will be available in Home Assistant.

### Do I need HACS or a custom repository to add Ghost to Home Assistant?

No. As of the Home Assistant 2026.3 release, the Ghost integration is entirely native — just go to Settings → Devices & Services → Add Integration and search for "Ghost." No third-party add-ons required.

### Which Ghost API key should I use: Admin or Content?

You must use the Admin API Key, not the Content API Key. Home Assistant needs the administrative tier to pull restricted metrics like revenue (MRR/ARR) and subscriber counts, which the Content API doesn't expose.

### Do I need Stripe connected to see revenue metrics?

Yes. Monthly Recurring Revenue (MRR) and Annual Recurring Revenue (ARR) sensors require an active Stripe connection on your Ghost site — without it, those specific entities won't populate.

### What kind of data does the integration expose to Home Assistant?

It exposes audience data (total members, paid subscribers, free members), financial metrics (MRR/ARR), content volume (published posts, drafts), newsletter performance (open rates, click rates, sends), and — on Ghost 6.x+ — federated ActivityPub follower counts. These all appear as standard Home Assistant sensor entities, just like a thermometer or motion sensor.

### Can I trigger automations based on Ghost metrics?

Yes. Since Ghost metrics become native Home Assistant sensor entities, you can build automations exactly like you would for any other sensor — for example, triggering a light flash, phone notification, or ESPHome display update when your paid subscriber count crosses a milestone.