⚒️The Foundation
Before any soul could be judged, the earth itself had to be shaped. An Oracle Cloud citadel was raised from silicon and wire — ARM-forged, Ubuntu-tempered, built to endure.
🕳️The Passage
Once we relied on Tailscale's distant coordination servers. No longer. Headscale now runs within Hades itself — a self-hosted mesh that bends to no external authority. The iPhone and the server speak directly, through an encrypted tunnel only the worthy may traverse. DERP and STUN run from Sydney, never leaving the underworld.
⚙️The Engine Room
Deep in the belly of Hades, the forges burn eternal. Each soul is bound
to its own container — isolated, restartable, unable to corrupt its
neighbours. The homelab network connects them all, a river
of packets flowing between the damned.
| Soul | Purpose | Port |
|---|---|---|
| caddy | The Gatekeeper — reverse proxy, TLS terminator | 80, 443 |
| headscale | The Passage — self-hosted mesh VPN coordination | 3478/udp |
| dice-signaling | The Oracle — WebSocket signaling for P2P dice | 8080 |
| deploy-webhook | The Ferryman — carries new code across the river | 9000 |
| agora | The Meeting Place — Orthodox event finder for Sydney | 3000 |
| gorgon | The Scribe of Heaven — Byzantine chant notation writer | 3000 |
| haggle | The Marketplace — AI-assisted negotiation tool | 3000 |
| wikigame | The Race — speedrun Wikipedia to a target article | 3000 |
| gatus | The Watchtower — monitors all vital signs | 3001 |
| portainer | The Scribe — container management UI | 9443 |
🛡️The Gatekeeper
Cerberus had three heads; Caddy has ten virtual hosts. Every request that arrives at the gates is inspected, sorted, and sent to its rightful destination — or cast into the void with a 404. TLS certificates are conjured automatically. No mortal need manage them.
dice.kevinpaul.au
├── /deploy → deploy-webhook:9000
├── /ws* → dice-signaling:8080
├── /health → dice-signaling:8080
└── /* → /srv/dice (SPA)
hades.kevinpaul.au → /srv/hades (this page)
styx.kevinpaul.au → /srv/styx
haggle.kevinpaul.au → haggle:3000
wiki.kevinpaul.au → wikigame:3000
japan.kevinpaul.au → /srv/japan (static)
orthodoxy.au → /srv/orthodoxy (static)
agora.orthodoxy.au → agora:3000
gorgon.orthodoxy.au → gorgon:3000
👁️The Watchtower
Argus Panoptes had a hundred eyes; Gatus has fifteen monitors. Every 60 seconds, it peers into the darkness and reports what it finds. If a soul goes silent, the watchtower knows. Its vigil is accessible only to those on the Headscale mesh.
🎲The Dice Halls
In the Fields of Asphodel, the shades gather to roll dice for eternity. A P2P signaling server routes their WebSocket whispers, connecting host to player through ephemeral rooms that vanish like morning mist. No database. No persistence. Just the eternal now.
// Charon ferries the code across in ~5 seconds
☦️The Sacred Arts
Not all souls in Hades are damned. Some are sanctified. Three projects serve the Orthodox Church of Sydney and Australia — a roster of events, a writer of ancient chant, and a gateway to the jurisdictions of this land.
| Name | Purpose | Domain |
|---|---|---|
| agora | Orthodox event finder for Sydney — AI-powered, sourced from parish websites | agora.orthodoxy.au |
| gorgon | Byzantine chant notation writer — compose and export Gorgon-notation scores | gorgon.orthodoxy.au |
| orthodoxy.au | iOS picker wheel launcher — choose your jurisdiction, open its website | orthodoxy.au |
⚔️The Arenas
The shades need entertainment. Two arenas were built within the walls of Hades — one for those who wish to haggle their way to a better deal, another for those who race through the labyrinth of human knowledge.
| Name | Purpose | Domain |
|---|---|---|
| haggle | AI negotiation practice — roleplay price negotiations against Claude | haggle.kevinpaul.au |
| wikigame | Wikipedia speedrun — navigate from a random article to a target using only links | wiki.kevinpaul.au |
☁️The Cloudflare Gate
Before any mortal's request can reach Hades, it must pass through the orange clouds of Cloudflare — DNS resolved, SSL terminated, cached and proxied. But no Workers toil here. We learned that lesson the hard way. The clouds are for routing only. All thinking happens in the depths.
🔥The Wall
The walls of Tartarus are said to be impenetrable. Ours come close: a double firewall — the OCI Security List blocks at the cloud, UFW blocks at the host. SSH from the public internet? Cast into the pit. fail2ban watches for those who try the gates too many times.
📜What Was Done
From a barren Oracle Cloud instance to a fully operational underworld — these are the events inscribed upon the walls of Tartarus.
homelab network woven between containers