Hardware List and Costs

infrastructure-engineering

Hardware List and Costs

Introduction

This document breaks down the hardware powering my homelab Kubernetes cluster, including both the edge compute nodes and my development machine setup. The goal of this infrastructure is to support a distributed system that can handle AI workloads, CI/CD pipelines, container orchestration with k3s, and experimental services for my Bible app ecosystem.

My setup is intentionally hybrid: lightweight Raspberry Pi nodes form the backbone of the Kubernetes cluster, while a dedicated RTX 3090 machine handles heavier AI workloads and model inference in Docker containers. On top of this, I run supporting services like Gitea for source control and CI runners for automated deployments, creating a fully self-hosted development environment.


Compute Nodes (Kubernetes Cluster)

These are the primary nodes running k3s in my homelab rack:

  • Raspberry Pi 5 16gb nodes (k3s workers + control plane)
    • Role: Container orchestration, lightweight services, API workloads
    • OS: Linux (lightweight server distro)
    • Cluster: k3s (lightweight Kubernetes distribution)
    • Purpose: Always-on services, APIs, small microservices, and system tooling

These nodes form the backbone of the distributed system and handle most production-like workloads in the cluster.


Development & AI Compute Machine

  • RTX 3090 Desktop Machine
    • Role: AI model inference, training experiments, Docker-based model hosting
    • Usage: Runs heavier workloads that are not suitable for ARM-based Pi nodes
    • Includes:
      • Local LLM containers
      • Embedding services
      • Experimental AI agents (memory + tool use)
      • Build/testing environment for AI pipelines

This machine acts as the “heavy compute layer” of the system, complementing the Kubernetes cluster.


CI/CD & DevOps Layer

  • Gitea Server (self-hosted in cluster)
    • Role: Git hosting, version control, and automation triggers
    • Integrated with CI runners deployed in the cluster
  • CI Runners
    • Role: Build, test, and deploy pipelines
    • Runs:
      • Docker image builds
      • Kubernetes deployment updates
      • Automated testing for services

This layer acts as the glue between development and production deployment across the homelab.


Networking & Infrastructure

  • Home router / LAN backbone
    • Provides internal cluster connectivity
    • Handles ingress/egress traffic routing
  • Kubernetes networking (k3s built-in)
    • Service discovery between microservices
    • Internal DNS resolution for services
  • Optional expansion:
    • Load balancer (software-based or hardware upgrade planned)
    • Reverse proxy layer for external traffic routing

Storage Layer

  • Local NVMe/SSD storage on Pi nodes (light workloads)
  • Local NVMe/SSD storage on RTX 3090 machine
  • Shared storage strategy (planned/expanding):
    • Distributed storage for persistent workloads
    • Backup system for critical application data

Estimated Cost Breakdown

ComponentDescriptionEstimated Cost
Raspberry Pi Cluster NodesK3s workers/control plane$245 - $340
RTX 3090 DesktopAI compute machine$3000 - $4500
Networking EquipmentRouter, switches, cabling$100 - $200
Storage DevicesSSDs/NVMe drives$650 - $800
Power & CoolingPSU, cooling, rack power$130 - $150
MiscellaneousCases, mounts, accessories$200 - $250

Note: Costs vary depending on sourcing (new vs used hardware), storage capacity, GPU pricing, and networking equipment quality.


Conclusion

This homelab setup is designed as a scalable, self-hosted infrastructure for both software engineering and AI experimentation. The combination of a Kubernetes-based Raspberry Pi cluster and a dedicated GPU machine allows me to separate workloads efficiently—light services run continuously in the cluster, while compute-heavy AI tasks are offloaded to the RTX 3090 system.

Over time, this architecture will evolve into a more production-like environment, supporting CI/CD pipelines, AI agent systems, and the backend infrastructure for my Bible app ecosystem. The goal is not just infrastructure for development, but a fully autonomous system that can build, deploy, and scale services with minimal external dependencies.


Case Study

In Progress

Bible Verse — Case Study

Production SaaS Platform · Full-Stack · Founder & Sole Engineer

A domain-driven SaaS platform with five independently scalable system boundaries: scripture content delivery, RAG-backed AI study, real-time community interaction, async media processing, and infrastructure services — built and operated end-to-end.

Our Results

37K+
Verses Indexed
5
AI Models
5
Bounded Domains
3
Job Queues

How We Built It

  • RAG pipeline grounding AI responses in actual scripture rather than model memory
  • Hybrid Llama / OpenAI routing — local inference for cost, API fallback for quality at the edge
  • Non-blocking media processing — FFmpeg jobs enqueued via BullMQ, API never waits on transcoding
  • Cross-instance real-time consistency via Redis pub/sub behind WebSocket and WebRTC layers

Lessons Learned

  • Domain boundaries enforced at the service layer prevent coupling long before scale demands microservices.
  • RAG retrieval quality matters more than model size — better embeddings outperform a larger model on poor context.
  • Async queue design should be first-class, not bolted on; BullMQ worker isolation saved the request path repeatedly.

Stack

Nuxt 3TypeScriptNitroPostgreSQLPrismaRedisBullMQWeaviateMinIOFFmpegWebRTCWebSocketsLlama 3.2OpenAI APIKubernetes
View Full Case Study

Written by

Full-Stack Engineer & Systems Architect

5+ years building production systems · AI, Backend & Infrastructure · Founder of Bible Logic

Full-stack engineer with 5+ years of hands-on experience designing and shipping production systems — from Nuxt 3 frontends and Nitro APIs to self-hosted Kubernetes clusters, RAG pipelines, and real-time AI applications. Everything I write comes from systems I've designed, deployed, and operated in production.

5+ Years Experience AI Systems Specialist Kubernetes & Infrastructure
Nuxt 3TypeScriptPostgreSQLKubernetesRAG / LLMWebRTCAWS IVSRedis