Tom Gilmartin

I've spent twenty-five years in IT, mostly as the person between the technical work and the people it's meant to serve. In 2023 I stepped back to be home with our kids. I didn't let my skills sit still while I did.

This page describes what I built in that time, a small home IT environment I call Eastslide, in plain language.

Eastslide in one paragraph

Eastslide is my home network, built and run the way I'd want a small organization's IT run. One server in the basement hosts about fifteen separate systems (photos, passwords, shared files, monitoring, a code repository, a database), each walled off from the others. A firewall I built sits in front of all of it. The environment is documented, inventoried, backed up off-site and checked. It runs entirely on open-source software, and a real household depends on it every day, so when something breaks, people notice.

Prefer to poke around? Explore the stack, one layer at a time.

How it fits together

Nothing at home accepts a connection from the internet except that one encrypted entrance. Everything else, including every admin screen, is reached through it. That's also why this page isn't served from my house.

What runs on it

Photo library

A photo and video library on hardware I own, with search and face recognition. It takes the place of Google Photos and iCloud.

Immich

Password vault

A self-hosted password manager, shared across the household.

Vaultwarden

Accounts and shared files

A central directory of user accounts, the same idea as Active Directory at work, so one sign-in covers the computers and the shared drive.

Samba Active Directory

Monitoring and alerts

Dashboards and log collection, plus alerts to my phone through a notification service I also host.

Grafana, Prometheus, Loki, ntfy

Code and documents

A private code server where my scripts, tools and documentation live under version control, with a history of every change.

Forgejo

Database

One database that holds the system inventory, update status and archives, and feeds the dashboards and tools below.

PostgreSQL

Music and games

A self-hosted music library streamed to any room, plus Minecraft servers.

Navidrome, Snapcast, Minecraft

How I run it

Written down. A reference document covers the whole environment: what runs where, what can reach what, and how to get back in if I lock myself out. It lives in version control and gets updated when things change. Decisions are recorded with their reasons, so six months later I know why something is the way it is, not just what it is.

Inventoried automatically. A job pulls the list of every system straight from the server, checks each one's software versions, and loads the results into the database. A dashboard shows at a glance what's current and what's behind.

A small surface, on purpose. I've listed every point where Eastslide touches the outside world (one VPN entrance, a DNS provider, a hosting company and an off-site backup service), with what each one exposes, how it's secured and how it's watched. Those accounts all use two-factor sign-in. Remote logins use keys instead of passwords, and the last few holdouts are being converted.

Backups I've actually restored. Critical systems back up every night to encrypted off-site storage, and I've restored from those backups to prove they work. A backup nobody has restored from is a hope, not a plan. Extending coverage to the configuration of every system is the current project.

Change control, AI included. I use AI coding assistants heavily, under the rule I'd want any vendor to follow: the assistant writes and tests a change on a separate branch and proposes it. It never deploys. I review every change and put it into production myself.

Choosing providers like vendors. When I need an outside service, whether off-site backup, email or a domain registrar, I compare the options on cost, lock-in, how hard it would be to leave and how well the account can be secured, then write down the decision. I lean toward open-source and toward services I could walk away from.

Things I've built on top of it

Once the foundation was solid, I started building small tools of my own, some to learn with and some for everyday use. They run on the internal web server. The labels say honestly how far along each one is.

Why I did this

My career grew up on the Windows side: Active Directory, SQL Server, VMware. While I was home, the industry kept moving toward Linux, containers and infrastructure defined in code. I didn't want to come back with a skill set frozen in 2023, so I took the harder route and learned the newer stack by running it for real, for people who'd notice if it failed.

It also lines up with something I believe: the people who depend on a system should understand it, own their data and be able to leave a vendor. Nearly everything here is open-source, and the decisions are written down so someone else could pick it up.

What's next