GridLink

A private cloud, kept at home.

See the fleet
GridLink · Cluster
Uptime Kuma
Immich
+
status.gridlink.home/cluster
ClusterStorageVoice GAIA · QUORUM 3/3
solariaNODE 1

Holds the graphics card and runs Cortex, the AI brain behind the voice in every room.

VMtalosRTX 4090
trantorNODE 2

Automation, mail, media, and the whole app layer.

VMhestiaHome Assistant
VMhermesMail
LXCorpheusPlex
LXChecateDocker · DNS
terminusNODE 3

The monitoring island, deliberately apart from the apps.

VMmetisReporting
LXCargusAlerts · Uptime

Why run it yourself

Own it once. Keep it for good.

Serve

Everything runs from the closet.

Mail, photos, media, and automation are served out of the rack in this house. Not a region. Not a tenancy.

Watch

Monitoring lives on its own island.

Alerting sits on a separate node from the apps it watches, so the thing that breaks is never the thing reporting it.

Rest

Any node can fail.

Three nodes hold quorum, and encrypted copies leave the house every night to two independent destinations.

“It costs electricity and attention. In exchange, nothing can be repriced or taken away.”

The fleet

Three nodes, one cluster, storage kept apart.

Compute is clustered as gaia and votes 3 of 3. Every NAS sits outside that cluster, so a compute failure never touches the files.

Compute · gaia cluster

solariaNODE 1

The AI node. An RTX 4090 hangs off it over OCuLink and drives Cortex, the voice assistant and AI brain, with no cloud model in the loop.

VMtalosRTX 4090
trantorNODE 2

The app node. Two VMs and two containers carry nearly everything anyone in the house actually touches.

VMhestiaHome Assistant
VMhermesStalwart mail
LXCorpheusPlex
LXChecateDocker · Immich · DNS
terminusNODE 3

The watch node. Alerting and reporting only, so it stays up when the app layer does not.

VMmetisReporting
LXCargusntfy · Uptime Kuma

Storage · outside the cluster

AtlasNAS

Files and the single backup repository. The source of truth for anything that matters.

10.9 TB RAW

HyperionNAS

Media only. Feeds Plex over NFS, and nothing else depends on it.

29.1 TB RAW

OceanusNAS

Bulk capacity, added 2026. No redundancy, by choice.

9.1 TB RAW

The stacks

Everything the house runs on, running at home.

Twenty-four of them, and not one is rented. Open any tile to see what it actually does.

What I build

Three products, one workbench.

GridLink is the infrastructure everything else is built and tested on.

Eight Point LabsLIMITED LIABILITY COMPANY

I build software that runs on infrastructure I control, and GridLink is where all of it gets built and tested first. If you want to talk about any of it, the door is open.

Rented is convenient. Owned is quieter.

Running since 2020. Free of landlords.

See the fleet

Cluster status

gaia · three nodes · quorum 3 of 3

gaia is a three-node Proxmox cluster. Two nodes must agree for the cluster to accept changes, so any single node can fail or reboot without taking the others with it.

solaria1 VM · RTX 4090
trantor2 VM · 2 LXC
terminus1 VM · 1 LXC
Storage3 NAS, outside the cluster
BackupsNightly, encrypted, off-site

Storage deliberately sits outside the cluster. Losing a compute node costs you running services for a few minutes; it never costs you files.

Home Assistant

Automation

The house's nervous system. It talks to the lights, locks, thermostats, cameras, sensors, and speakers, then runs the rules that tie them together, all on local hardware.

Because it is self-hosted, an internet outage does not stop a light switch from working, and no device vendor can end-of-life the house.

Cortex

Voice & AI

A voice assistant that answers to “cortex” and never phones home. Wake word, speech recognition, the language model, and the voice itself all run on a graphics card in this house.

When more than one microphone hears you, they compare how loud you were and the nearest one answers, so you are never replied to twice.

Immich

Photos

A photo library that does what Google Photos does: phone backup, albums, and search by face or by object. The difference is that the originals never leave the building.

Face and object search is indexed on local hardware, so nothing is uploaded to be catalogued by someone else.

Plex

Media

A media server for films and television. It catalogues a library, fetches artwork and metadata, and streams to a TV, phone, or laptop, converting the format on the fly when a device cannot play the original.

The library lives on storage dedicated to media, so a busy movie night never competes with backups for disk.

Stalwart Mail

Mail

A full mail server, not a forwarding trick. It receives, stores, and sends mail for its own domains, and speaks JMAP as well as the older IMAP and SMTP, so modern clients get modern sync.

A second mail exchanger elsewhere holds inbound mail during an outage and hands it over once the server is reachable again.

Nextcloud Drive

Files

File sync and sharing across desktop, phone, and web, in the shape of Dropbox or OneDrive. Folders can stay online-only until opened, so a laptop does not need room for everything.

Files are stored as ordinary files rather than an opaque blob store, which means they remain readable even without the software that put them there.

Obsidian

Notes

Notes and long-form writing, kept as plain Markdown files in a folder rather than locked inside an application's database.

The vault syncs through Nextcloud, so every device sees the same notes without a subscription in the middle.

Mealie

Recipes

A recipe box. Paste a URL and it pulls out the ingredients and the method, then strips away the life story and the adverts wrapped around them.

Recipes turn into meal plans and a shopping list, and they stay readable years after the original blog goes offline.

Vikunja

Tasks

Task and project tracking: lists, boards, due dates, and reminders. It is the single place work gets written down, whether that work is a product release or replacing a smoke alarm battery.

AdGuard Home

Network DNS

The house's DNS server. Every device asks it to turn a name into an address, which means it can refuse the ones belonging to ad networks and trackers before a single request leaves the network. Nothing needs installing on the phones and TVs.

It also answers for names that exist only on the local network, so the same address works whether you are at home or away.

FreshRSS

Feeds

A feed reader. Sites are followed directly by their own feeds, so what shows up is what was published, in the order it was published, with nothing ranked or injected in between.

Wallabag

Read later

Save an article now, read it later. It keeps a clean copy of the text, which means the piece survives a paywall going up or the page quietly disappearing.

NocoDB

Databases

Spreadsheets that behave like a real database: typed columns, relationships between tables, and forms and views on top. Useful whenever a spreadsheet has outgrown being a spreadsheet.

SearXNG

Search

A search front end that asks several engines on your behalf and merges the answers. The engines see the server asking, not you, and no profile is built from what you look for.

Glance

Dashboard

The front door. One page holding a link to everything else, so nobody has to remember which address a service lives at.

Uptime Kuma

Uptime

Checks every service on a schedule and records whether it answered. It runs on the node furthest from the applications it watches, so the thing that breaks is never the thing reporting it.

ntfy

Alerts

Push notifications without a third party in the middle. Anything on the network can send a message to a phone with a single web request, which is how a failed backup or a dead service actually reaches someone.

Komodo

Deploys

The control panel for everything running in a container: what is deployed, from which definition, and whether the last deploy worked. New services are added here rather than by hand on a terminal.

Zigbee2MQTT

Devices

Talks directly to Zigbee sensors, buttons, and bulbs through a local radio, so they answer to this house instead of to the manufacturer's cloud. It also frees them from needing a separate hub per brand.

Health Portal

Health

A private place for medical records, test results, and readings from wearables, pulled together from the various portals that each hold one piece of the picture.

Forge

Coding

A browser front end for driving coding sessions on the machine that holds the graphics card, so the work can be picked up from any screen in the house.

ImmichFrame

Photo frame

Turns a spare screen into a digital photo frame that pulls from the same photo library, so the pictures on the wall are the pictures everyone is already taking.

Flow

Automations

A visual editor for the automation rules that run the house, so a rule can be read and changed as a diagram instead of as a wall of configuration.

Update Watch

Updates

Watches every running container for a newer published version and reports what is behind. It only ever reports: nothing installs itself, so an update stays a decision rather than a surprise.