This project is a homelab edge datacenter with k3s deployed, hosting a voice-enabled 3D assistant and other open-source components. It emphasizes recycled hardware, self-hosted sovereignty, and cost-efficient infrastructure for real-time AI and monitoring workloads.
This Mini-Datacenter is composed of:
- 4Γ Intel NUCs (reconditioned)
- 1Γ Raspberry Pi 5 + AI Hat Kit (Optimized for CNN inference acceleration)
- 1Γ Reconditioned QNAP NAS with:
- 6Γ HDD drives
- MinIO as S3-compatible storage backend
- TP-Link Smart Managed Switch (VLANs and isolation)
- SnortML IDS (experimental setup for Zero-Day threat detection)
- Prometheus + Grafana stack for real-time observability
- Dashboard on recycled iPad (Grafana front)
flowchart TD
subgraph EdgeCluster["π Home Datacenter Edge Setup"]
NUC1(NUC 1)
NUC2(NUC 2)
NUC3(NUC 3)
NUC4(NUC 4)
PI5(Raspberry Pi 5 + AI Hat)
NAS(QNAP NAS + MinIO)
Switch(TP-Link Managed Switch)
IDS(SnortML IDS)
Grafana[iPad Display with Grafana]
end
NUC1 -->|K3s Node| Switch
NUC2 -->|K3s Node| Switch
NUC3 -->|K3s Node| Switch
NUC4 -->|K3s Node| Switch
PI5 -->|Audio & AI Tasks| Switch
Switch --> NAS
IDS --> Switch
NAS -->|S3 API| NUC1
NAS -->|S3 API| NUC2
NAS -->|S3 API| NUC3
NAS -->|S3 API| NUC4
Switch --> Grafana
.
βββ examples
β βββ transcription
β β βββ whisper.py
β β βββ youtube_wav_fetcher.py
βββ manifests
β βββ minio
β βββ monitoring
β βββ ollama
β βββ whisper
βββ src
β βββ backend
β β βββ watchservice
β β βββ main.py
β βββ frontend
β β βββ components
β β β βββ Avatar.jsx
β β β βββ Experience.jsx
β β βββ App.jsx
β β βββ main.jsx
βββ text-to-speech-webgpu
β βββ src
β β βββ App.jsx
β β βββ main.jsx
β βββ index.html
βββ package.json
βββ README.md
curl http://localhost:11434/api/pull -d '{
"name": "smollm:135m"
}'
curl http://localhost:11434/api/generate -d '{
"model": "smollm:135m",
"prompt": "What is your name"
}'https://dan-niles.medium.com/setting-up-apache-solr-on-kubernetes-with-rancher-desktop-931433d8f56b
The 3D assistant is built using three.js and react-three-fiber, featuring an animated avatar that lip-syncs and responds to user inputs.
Avatar.jsx: Manages 3D avatar animations and lip sync.Experience.jsx: Orchestrates the scene, lights, and environment.
cd src/frontend
npm install
npm run devOpenvoice OS provides a self-hosted voice assistant backend for speech recognition and responses.