What Harouna built at home, how, and how every piece connects to the others. Spin the map, click a star.
2k3s nodes
22 vCPU· ≈ 40 GB of RAM
20+services
23agents · 3 teams
0open port at home
The 3D view needs WebGL. The rest of the page works without it.
SCROLL FOR THE ATLAS ↓
DRAG · ROTATE CTRL + WHEEL · ZOOM CLICK · DETAILS
Technical write-up · Harouna Soumare's homelab
A data centre at home, run like a company, with twenty-three AI agents
Two machines linked by an encrypted tunnel carry everything: a small rented server that faces the Internet, and a virtual machine in the home PC that does the work. Git describes every piece, a passwordless identity guards every door, and a European vault receives an encrypted copy of everything, every night. On top of it, an assistant and twenty-two agents, organised in three teams, work for the family without ever holding the keys.
01Why build this
The idea: a real small data centre at home, as serious as a professional service, for the family, for work and for AI agents, without paying for enterprise infrastructure or handing personal data to third parties.
The power is at home, the public address is elsewhere. The home PC has plenty of memory and stays on, but a home router offers neither a fixed address nor reliable ports. A small rented server lends its address.
Nothing private is exposed. Administration consoles only exist inside an encrypted private network. The little that is public sits behind an identity gate.
Everything must be rebuildable. A Git repository, one offline key and a backup vault are enough to bring everything back.
What it is not
It is not a cloud: if the home PC goes down, the applications stop. An external probe then warns the phone within minutes, and no data is lost.
02Two machines
A lightweight two-node Kubernetes cluster (k3s), linked by a WireGuard tunnel.
Machine
Where
Role
jiji
rented server in France
Public entrance, private network control plane, mail, alerts, cluster brain
totoro
VM in the home PC
Machine room: databases, applications, agents
03What runs
About twenty services. A few are reachable from the Internet behind the identity gate; the rest only exist in the private network. Click a card.
Part I
Network paths
04The path of a visit
When a family member opens an application, the request crosses four zones. The key point: the public entrance decrypts nothing. It only reads the requested name and pushes the encrypted stream to the machine room, which alone holds the certificate.
A public visit. Solid lines show the path of every request; pink dashes show the detour through Pocket ID when the gate does not recognise a session. The glowing dot follows a packet. Click a block for details.
people and identityplatformAI and agentsdata and backupsnetwork and external servicesnormal pathhuman input, detour
Tip: hover a block to light up its links, click for details.
An allowlist on the public entrance names the only applications reachable from the Internet. A name that is not on the list never reaches the house.
05The private network
NetBird builds a WireGuard mesh. Its control plane hands out keys and the list of allowed peers; traffic itself flows directly between devices, encrypted. Administration consoles only have an address inside this network.
Private access. jiji's control plane never sees the data: it hands out keys and the list of peers. Grey dashes show the fallback relay, used only when two devices cannot reach each other directly.
A classic trap, avoided
When cluster traffic runs inside a VPN tunnel, the marks the VPN puts on packets can be read by Kubernetes' firewall as "already allowed". A rule on each node clears that mark, so the walls between applications really hold.
06Passwordless identity
Pocket ID is the household's identity provider. It has no password: you sign in with a passkey tied to your phone or PC. Each application is an OpenID Connect client, restricted to groups. Applications that do not speak OpenID Connect sit behind a gate (oauth2-proxy). Even cluster administration goes through this identity: no administrator certificate lies around on a workstation.
07GitOps: Git is the only door
Nobody changes the cluster by hand. An idea becomes a branch, then a pull request in the Git forge. A check looks for forgotten secrets and verifies that every secret is encrypted. The human reviews and merges. Flux sees the new version and applies it.
A change, end to end. Green shows an agent's proposal; pink dashes show the human decision, which no account can bypass (the rule also applies to administrators, except for a deliberate forced merge); grey dashes show the automatic image loop.
Rule
Effect
No secret in clear text
every secret is encrypted (SOPS + age) before it enters Git
Removing deletes nothing
a database never disappears because a file moved
Nothing without proof
every change is checked on the real service
Part II
The agents
08The agent constellation
Eleonore is Harouna's only contact. Under her, three isolated teams (household, work, business), each with its own task board, model access, knowledge collection and publishing space. Each team has a reviewer who checks deliverables before they reach the human.
Twenty-three agents, three skies. Links run from Eleonore to each team; rings mark the reviewers. Click an agent to see its mission.
What the agents cannot do
No agent holds an administration key. Those that read the infrastructure cannot see secrets. The platform engineer proposes changes; only the human merges them. The market analyst never places an order. The work OSINT researcher only looks at public, professional information.
09The path of a request
A message to Eleonore goes through five levels before coming back as a published page and a notification.
One request, five levels. Green shows the agents' work; blue shows the model call and its answer (grey dashes); pink shows what belongs to a human or a reviewer. A rejected deliverable goes back to the agent with precise corrections.
10Models and confidentiality
Agents never call a model directly. They talk to a purpose-built router, then to a gateway that carries Harouna's subscriptions: Claude first, ChatGPT second, Gemini as a last resort. The router guesses the intent (code, summary, analysis, conversation), checks the remaining quotas and picks the model.
The guard cannot be switched off
Before anything is sent, the router checks that confidential content only goes to a model covered by a contracted subscription. The work and business spaces are always treated as confidential.
11Memory and knowledge
Two kinds of memory. A long-term memory keeps what Eleonore learns over conversations. A knowledge base stores by meaning the documents dropped into the Library: in under two minutes, a new document is split, embedded at home and becomes searchable by the relevant team. The reviewers' lessons live there too, and every agent rereads them before working.
Part III
Lasting
12Back up, then prove it
Everything leaves encrypted for a single European vault: databases continuously, files every night, the cluster state several times a day. Above all, drills regularly restore those copies to check that they work.
One vault, three paths. Orange shows the copies leaving every night; grey dashes show the drills that take them back to check they really restore.
Why the drills
A restore test showed that a backup tool running as the wrong user silently skipped unreadable files, then reported success. A backup you have never restored is only a hypothesis.
13Security principles
Minimal exposure: the house opens no port; the public entrance only exposes what is needed and decrypts nothing.
One identity door, with no password to steal.
One change door: Git, with mandatory human review.
Secrets encrypted everywhere: in Git, on disk, in backups.
Isolation between household, work and business, down to AI model access.
Agents without keys: a tricked agent cannot break everything.
Independent monitoring: what warns about an outage does not run on what can fail.
A security agent audits the estate every day; a second one sorts the findings and prepares fixes, which the human accepts or not.
14What outages taught
Outage
Lesson
The VM loses its network
A default virtual network can change addresses without warning: the VM now has its own fixed-address network.
Large files rejected
A relay that reads everything into memory falls over on a big file: it now streams in small chunks.
Fake quota at zero
A measurement you cannot read is not a zero: it is discarded.