Thanks to visit codestin.com
Credit goes to github.com

Skip to content

πŸ§ͺ Homelab with k3s, 3D avatar (Three.js), OpenVoice OS ( Pending ), Whisper, Ollama & Solr on Kubernetes

Notifications You must be signed in to change notification settings

adammabrouk/adam-3d-assistant

Repository files navigation

Project Overview

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.

IMG_0966 IMG_0976

🧱 Hardware & Edge Datacenter Composition

This Mini-Datacenter is composed of:

🧠 Compute

  • 4Γ— Intel NUCs (reconditioned)
  • 1Γ— Raspberry Pi 5 + AI Hat Kit (Optimized for CNN inference acceleration)

πŸ—„οΈ Storage

  • 1Γ— Reconditioned QNAP NAS with:
    • 6Γ— HDD drives
    • MinIO as S3-compatible storage backend

🌐 Networking

  • TP-Link Smart Managed Switch (VLANs and isolation)

πŸ›‘οΈ Security & Monitoring

  • SnortML IDS (experimental setup for Zero-Day threat detection)
  • Prometheus + Grafana stack for real-time observability
  • Dashboard on recycled iPad (Grafana front)

πŸ“Š Mermaid Diagram

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
Loading

Project Structure

.
β”œβ”€β”€ 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

Ollama Query example

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"
}'

Installation / Management of Solr On Kubernetes

https://dan-niles.medium.com/setting-up-apache-solr-on-kubernetes-with-rancher-desktop-931433d8f56b

3D Assistant in three.js

The 3D assistant is built using three.js and react-three-fiber, featuring an animated avatar that lip-syncs and responds to user inputs.

Key Components

  • Avatar.jsx: Manages 3D avatar animations and lip sync.
  • Experience.jsx: Orchestrates the scene, lights, and environment.

Run Locally

cd src/frontend
npm install
npm run dev

Exploring Openvoice OS in the upcoming weeks

Openvoice OS provides a self-hosted voice assistant backend for speech recognition and responses.

About

πŸ§ͺ Homelab with k3s, 3D avatar (Three.js), OpenVoice OS ( Pending ), Whisper, Ollama & Solr on Kubernetes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published