Hardware

What she runs on today

No data centre. Luna is built to run two ways: everything on one desktop, or with the model on a dedicated AI server and Luna on whatever machine you're at. Today she's the all-in-one, on a desktop with a 16 GB graphics card, talking to a home server for the smart home and tested on a Mac. The server is the next step, and it's below.

Luna's desk

runs Luna
CPU
AMD Ryzen 9 5900X
Board
Gigabyte B450
GPU
AMD Radeon RX 6950 XT, 16 GB
RAM
32 GB
OS
Fedora 44, Hyprland (the MewNix Candy rice)
Terminal
kitty, JetBrainsMono Nerd Font

The stack on it

Brain
Qwen3.5 9B (Q4_K_S) on llama.cpp, Vulkan. 16k context, every layer on the GPU, four parallel slots sharing one KV cache
Eyes
The model's vision adapter (mmproj), so screenshots and the webcam work
Recall
Qwen3-Embedding-0.6B for recall by meaning, Qwen3-Reranker-0.6B to sharpen the pick. About 0.6 GB and under 1 GB of VRAM
Ears
faster-whisper (small) with Silero VAD
Voice
Kokoro, af_bella, through kokoro-reader on :8899
Face
Her VRM in an app-style Chromium window, three-vrm, served by her own live monitor

All of it fits on the one card with room to spare. LM Studio works in place of llama.cpp; she picks whichever is answering at startup.

UnraidTower

home server
CPU
Intel Core i5-12600K
RAM
32 GB DDR5
Storage
Two NVMe drives, small NAS cube case
Network
Dual Intel I226-V 2.5 GbE
Power
APC Back-UPS 1000
OS
Unraid, Docker containers and a VM

What it does for her

Home Assistant
In a container, with its built-in MCP server. This is Luna's smart home: lights, plugs and sensors, local only
Plugs
Two TP-Link Tapo P125M smart plugs, the first devices she switches
Checks
What "how's the tower doing?" asks over SSH with your own keys, and what a scheduled check reads from a text file every few hours

The NUC

serves this site
Machine
Intel Core i7 NUC
Role
Apache web server and reverse proxy for the imbored.me sites
This site
Flight PHP with FlightJS, no database, no analytics, no third-party scripts. The repo stats on the front page come from a one-hour file cache

The Mac

macOS testing
Machine
Apple-silicon iMac, 16 GB unified memory
Brain
llama.cpp built for Metal, with a Mac-sized settings file: one slot, smaller batches, the embedding and reranker servers off so the model leaves room for macOS
Voice
Kokoro on the CPU, played through afplay, with the 44.1 kHz fallback Bluetooth headphones need
Status
Luna runs there, voice included, since October 2026. It's where the macOS side gets tested before it's merged

The laptop

spare
Machine
Acer Predator
GPU
NVIDIA RTX 2080
RAM
16 GB
Role
The NVIDIA machine, for trying anything CUDA-only

Next: a dedicated AI server

planned
Plan
A headless Debian box running llama.cpp with its own 16 GB card, or an RTX 3060-class card on the Unraid box through an OCuLink dock
Target
A 32B model, which needs 24 GB+ of VRAM or two cards. Luna works on 16 GB today; this is what gives her a bigger brain and keeps the desktop free
Why
This is the shape she's meant to run in: the brain on its own box, always on, the desktop free. Then full home integration, testing the practical side, and later a fine-tune of her own

What you need

Any GPU, or a Mac, or patience

PieceNeeds
The modelA GPU with enough memory for the model you pick: 16 GB runs a 9B with the side servers, as above; a 16 GB Mac runs the 9B with them off; 24 GB+ or two cards opens up a 32B. NVIDIA, AMD (Vulkan or ROCm) and Apple silicon (Metal) all work. Any model with a tool template: Qwen, Llama 3.1+, Mistral, Hermes
Speech recognitionfaster-whisper on the CPU, with PyTorch's small CPU build for voice detection. No CUDA download
Her voicekokoro-reader, with PyTorch for your GPU or the CPU. Starts in seconds since one loaded model serves every app
Short on memory?Turn the reranker off (under 1 GB back), the embedding server (about 0.7 GB), or the vision adapter (0.6 to 1 GB), or halve the context. A Q4 quant of the chat model saves the most of all
SoftwarePython 3.10 to 3.13, PortAudio, espeak-ng, git. The installer handles all of it through your own package manager

Set her up