Live · Open source
Home Server 3D
My AWS Lightsail server as a small 3D room. The LEDs on the rack light up from the server's real status.

- Type
- 3D web page · Blender scene + three.js
- Period
- Oct 2026
- Data
- Server metrics from Grafana Cloud, every minute
- Runs on
- Cloudflare Pages · Pages Functions
About
Home Server 3D shows my AWS Lightsail server as a small 3D server room. One rack unit is one service and one LED is one container.
The scene is made with Blender and shown with three.js. A small status API reads only the status from Grafana Cloud, so no token reaches the browser.
What it does
- LEDs from real status
- Each LED is a container, colored from live metrics. The panel on the right shows CPU, memory and disk, and the status of each service. Selecting a service moves the camera to the rack.
- Monitors that show real data
- The wall monitor draws the last hour of CPU, memory, network and disk every minute. The desk monitor lists recent commits like a terminal, and each one links to GitHub.
- Day and night
- The room follows the visitor's local time, daytime from 6:00 to 18:00, and a sun and moon switch changes it by hand.
- Camera
- Drag to rotate and scroll to zoom. The keyboard works too: arrow keys or WASD to move, Q and E to rotate, plus and minus to zoom.
- Safe to make public
- The API reduces every container to normal, warning or error and caches the result for a minute. Visitors never reach Grafana Cloud, and the real server and container names stay out of the browser.
Architecture
How it's built
- 3D
- Blender 5.2 · Python scene script · Cycles · glTF (GLB) with Draco
- Web
- three.js 0.170 · HTML · CSS · JavaScript (ES modules, no build tool)
- API
- Cloudflare Pages Functions · Cache API · GitHub REST API
- Monitoring
- Grafana Cloud (Prometheus, PromQL) · Grafana Alloy · cAdvisor
- Deploy
- Cloudflare Pages · deploys on git push


The live page shows my real server. Add ?demo=1 to the address to see sample data. The screenshots use sample data, and the other images are renders from the Blender scene.