โ๏ธ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
Hermes had his winged sandals; we have Tailscale. A mesh of encrypted tunnels that lets the worthy pass between worlds unseen. No mortal port is exposed โ only those on the tailnet may enter.
โ๏ธ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 |
| dice-signaling | The Oracle โ WebSocket signaling for P2P dice | 8080 |
| deploy-webhook | The Ferryman โ carries new code across the river | 9000 |
| gatus | The Watchtower โ monitors all 6 vital signs | 3001 |
| portainer | The Scribe โ container management UI | 9443 |
๐ก๏ธThe Gatekeeper
Cerberus had three heads; Caddy has four route handlers. Every request that arrives at the gates is inspected, sorted, and sent to its rightful destination โ or cast into the void with a 404.
โโโ /deploy โ deploy-webhook:9000 (the ferryman)
โโโ /ws* โ dice-signaling:8080 (WebSocket)
โโโ /health โ dice-signaling:8080 (pulse check)
โโโ /* โ /srv/dice (static frontend)
๐๏ธThe Watchtower
Argus Panoptes had a hundred eyes; Gatus has six monitors. Every 60 seconds, it peers into the darkness and reports what it finds. If a soul goes silent, the watchtower knows.
๐ฒThe Archive
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 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 This Day
In a single session, a barren Oracle Cloud instance was transformed into a fully operational underworld. These are the deeds recorded by the Fates.
homelab network woven between containers