COMPUTER CORE // OPEN ECOSYSTEM DIVISION

Build the open-source column, for real.

The comparison table's Open Source column makes one claim per row. This is the deep dive behind it: three real candidates per row, independently researched, license and privacy posture included, plus what actually plugs into what if you want to build the whole ecosystem rather than one piece of it.

Interface & Input

Primary interface

index.html currently says: “Terminal, self-hosted web UIs (Open WebUI), Home Assistant voice for ambient pickup.”

Project License What it does Privacy stance Status Source
Open WebUI “Open WebUI License” (BSD-3-Clause base + mandatory branding-retention clause for deployments over 50 users; code through v0.6.5 remains plain BSD-3-Clause) Self-hosted, ChatGPT-style web front end for local or remote model backends (Ollama, OpenAI-compatible APIs). All chat data and RAG documents stay on your own server by default — nothing is sent to Open WebUI's maintainers. Actively maintained — v0.10.2 (Jul 1, 2026), 166 releases open-webui/open-webui
Home Assistant Assist (voice pipeline) Apache-2.0 (Home Assistant Core) Wires wake-word detection, speech-to-text, a conversation agent, and text-to-speech together over the local network via the open Wyoming protocol. Run fully locally (faster-whisper + Piper + a local Ollama model) — no audio or transcript ever needs to leave the home network. Caveat: the Piper TTS component in this pipeline is archived upstream (last pushed 2025-08-26) — still functional and widely used, just not actively developed. Actively maintained — Home Assistant Core 2026.7.2 (Jul 10, 2026) Home Assistant Voice Control
oterm MIT Terminal UI client that talks to Ollama and any pydantic-ai-supported provider (OpenAI, Anthropic, local OpenAI-compatible servers) — no browser or web server required. Chat history and settings are stored locally in SQLite; when pointed at a local Ollama endpoint, nothing leaves the machine. Actively maintained — v0.20.0 (Jun 30, 2026), 81 releases ggozad/oterm

Recommendation: Start with Home Assistant's Assist pipeline if ambient, hands-free pickup is the goal — it's the only one of the three actually designed for “walk up and talk,” and it's fully local end to end. Layer Open WebUI on top for a shared, multi-user chat surface, but budget time to read the 2025 license change before deploying it beyond a household. Keep oterm in the toolbox for quick, no-server terminal access to the same local models — it has near-zero setup cost, but it's single-user.

Plays well with: Core architecture — Home Assistant Assist needs a local inference backend, and Open WebUI and oterm can point at that same backend, so all three can share one self-hosted model server rather than three separate stacks.

Agrees with index.html's current claim. Open WebUI and Home Assistant's Assist voice pipeline are both real, current, actively-maintained projects that do what the claim says, and a terminal remains a genuine, low-overhead primary interface for this kind of self-hosted stack.

Touchscreen GUI

index.html currently says: “Linux touch support is real but patchy — and open computer-use agents can drive a screen too” (status: caveat).

Project License What it does Privacy stance Status Source
GNOME Shell / libadwaita apps GPL-2.0-or-later (core) The default Linux desktop's touch handling: on-screen gestures, tablet-mode auto-rotation, and adaptive apps that resize for touch. Fully local, no telemetry by default. Genuinely earns the “patchy” label — 2026 community threads still report gestures not registering and tablet-mode detection breaking on some hardware. Actively maintained — GNOME 48 line, mid-2026 point releases GNOME/gnome-shell
KDE Plasma Mobile GPL/LGPL (standard KDE licensing) A touch-first Plasma shell built specifically for phones and tablets (PinePhone, OnePlus 6 via postmarketOS), not a touch mode bolted onto a desktop shell. More consistent on supported hardware than desktop-GNOME's touch mode, but device support is narrower. Actively maintained — Plasma 6 line, v6.6.5 (May 12, 2026) invent.kde.org/plasma-mobile
Cua (trycua/cua) MIT Open-source infrastructure for computer-use agents: sandboxed virtual desktops plus an SDK/benchmark suite so a vision-capable model can perceive a screen and drive it with clicks/taps/keystrokes. Self-hosted sandboxes; the more current pick over Open Interpreter (pivoted to a coding agent in 2026) or self-operating-computer (no commits since Sep 2025) for this specific job. Actively maintained — @trycua/fleet v0.0.3 (Jul 15, 2026), 20.4k stars trycua/cua

Recommendation: If you already run a Linux desktop, don't add anything — GNOME's or Plasma Mobile's touch support (whichever your distro ships) is “good enough, patchy” out of the box and matches what index.html actually claims. Reach for Cua only for the narrower job of letting an agent operate a screen on your behalf. Don't reach for Open Interpreter for this job in 2026 — it's no longer a computer-use tool.

Plays well with: Natural language processing — Cua needs a vision-capable model to actually see and act on the screen, and this report's own NLP pick, Qwen3.6-27B, is already described as a multimodal model, so it doesn't need inventing a separate model for this job.

Agrees with index.html's current claim. Linux touchscreen support is genuinely inconsistent in current releases, and open, MIT-licensed computer-use agents (Cua) really can drive a screen today.

Natural language processing

index.html currently says: “Open-weight models are genuinely conversational — a step behind frontier on the hardest reasoning” (status: caveat).

Project License What it does Privacy stance Status Source
DeepSeek V4 (V4-Pro / V4-Flash) MIT (weights) Mixture-of-experts family (V4-Pro: 1.6T total/49B active; V4-Flash: 284B total/13B active), both with 1M-token context, downloadable and runnable fully offline. MIT licensing permits self-hosting with no callback to DeepSeek's servers — genuine local-only privacy once self-hosted, though “open-weight” here means the weights are open, not the training data. Actively maintained — released Apr 24, 2026 deepseek-ai/DeepSeek-V4-Pro
Qwen3.6-27B Apache-2.0 27B-parameter dense multimodal model built for agentic coding and repository-level reasoning, small enough to self-host on a single consumer-class GPU. No commercial-use restriction; runs fully locally via Ollama/vLLM/llama.cpp once downloaded, so no data has to leave the host. Actively maintained — released Apr 22, 2026, still Alibaba's newest fully open-weight general model Qwen/Qwen3.6-27B
Mistral Large 3 Apache-2.0 Sparse mixture-of-experts model (41B active/675B total) available in base, instruct, and reasoning variants. Apache-2.0 covers essentially the whole family, so downstream users can redistribute and commercialize without legal review; self-hostable for full data locality at real hardware cost. Actively maintained — released Dec 2, 2025, with a further open-weight model in early access as of Jul 2026 mistral.ai/news/mistral-3

Recommendation: For a home/self-hosted setup, start with Qwen3.6-27B — it's the only one of the three that realistically runs on a single consumer GPU. Reach for DeepSeek V4-Flash or Mistral Large 3 only if you have the hardware and want the strongest open-weight reasoning available, accepting both still trail the best closed frontier models on the hardest reasoning benchmarks. None of the three publish full training-data provenance, so “open-weight” should not be read as “fully auditable.”

Plays well with: Core architecture — all three need a local inference runtime to actually self-host, and can share the same backend already referenced by the Primary interface row and the Touchscreen GUI row's computer-use pick (Cua, if a multimodal variant is used).

Agrees with index.html's current claim. DeepSeek V4, Qwen3.6, and Mistral Large 3 are all genuinely conversational, currently-maintained open-weight models, and independent 2026 benchmarking confirms the best of them still sit a notch behind top closed frontier models on the hardest reasoning tasks, exactly as the claim states.

Personal & Field Hardware

Ship terminal / console hardware

index.html currently says: “Framework laptop or desktop — modular, repairable, upgradeable; still no fixed bridge console.”

Project License What it does Privacy stance Status Source
Framework Laptop 13 Pro / 16 / Desktop Not fully open — chassis CAD and Expansion Card designs are CC BY 4.0 and EC firmware is open source on GitHub, but mainboard schematics are only partially published and include closed vendor components (Intel ME, etc.) Modular x86 laptops/desktop where mainboard, keyboard, screen, battery, ports, and (on the 16) GPU module are all user-replaceable with standard screws and no adhesive. Repairability is real and independently documented, but the “open source” framing needs precision — not OSHWA-certified. Actively maintained — Laptop 13 Pro launched Apr 22, 2026 with a ground-up redesign frame.work
System76 Lemur Pro (Coreboot-based Open Firmware) GPL-2.0 (coreboot) + GPL-3.0 (embedded controller) + BSD-2-Clause-Patent (edk2); Intel CSME/FSP/microcode remain proprietary blobs Linux-first laptops (Pop!_OS/Ubuntu) whose boot firmware is open source rather than a closed vendor BIOS blob. Real, verifiable control over boot/power/thermal behavior; not modular across models the way Framework is. Actively maintained — new Lemur Pro announced Jul 2026 with Coreboot-based firmware system76/firmware-open
MNT Reform Next CERN-OHL-2.0-S (hardware), GPL-3.0 (software/firmware), CC-BY-SA 4.0 (docs/artwork) — OSHWA-certified A genuinely fully-open-hardware laptop: complete schematics, mechanical designs, and firmware published under reciprocal open licenses. The only laptop with OSHWA certification; a niche, lower-performance ARM machine from a small team, not an x86 workstation replacement. Actively shipping — second-generation crowdfunding campaign, Jul 30, 2026 ship date crowdsupply.com/mnt/mnt-reform-next

Recommendation: Start with Framework if the goal is a practical daily-driver stand-in for a bridge console — it's the literal product named in the claim, x86-performance-competitive, and its repairability is real even though its “openness” is partial. Add System76's open firmware if boot-level transparency matters more than modularity. Reserve MNT Reform Next for readers who want a genuinely 100%-open, OSHWA-certified machine and are willing to trade raw performance and mainstream software compatibility for it.

Plays well with: Primary interface and Core architecture — all three can run the same self-hosted stack referenced elsewhere in this report (a local-LLM backend, Open WebUI, Home Assistant Assist) as a home “ops console.” Also cross-links to Self-repair capability: Framework's published schematics/EC firmware are the same #1 pick there, for a different reason (repairability documentation rather than daily-driver modularity) — a reader who picks Framework for one gets the other for free.

Agrees, with a caveat, with index.html's current claim. Framework genuinely is modular/repairable/upgradeable and remains actively developed in 2026, but its “open source” framing should be tightened: it's open-ish (CAD, EC firmware, and Expansion Card specs are open; mainboard schematics are only partial), not a certified open-hardware design the way MNT Reform is.

Personal access device

index.html currently says: “Fairphone — a user-replaceable battery beats a PADD.”

Project License What it does Privacy stance Status Source
Fairphone 6 Hardware design not published/open-hardware-certified; GPL-licensed kernel sources published as legally required; ships a standard Android build Modular, screw-based (T5 Torx only) smartphone with 12 user-replaceable parts — battery, screen, cameras, USB port — shipped with its own screwdriver. Only “open source” adjacent — publishes GPL-required kernel sources, not full hardware schematics; stock OS is ordinary Android. Actively maintained — launched 2026, iFixit 10/10 repairability, 5-year warranty fairphone.com
Volla Phone (Quintus / Plinius / X23) Volla OS is AOSP-based (Apache-2.0 core), developed in the open on GitHub; hardware itself is not open-hardware-certified German-made de-Googled Android alternative with a removable battery on some models and multi-boot support for Ubuntu Touch. Less repair-documented than Fairphone, from a smaller company with a slower patch cadence, but the OS itself is open source out of the box. Actively maintained — multiple current models with regular Volla OS release notes through 2026 volla.online/en/volla-phone
Purism Librem 5 Hardware schematics/STEP files released under GNU GPLv3+; PureOS is a Debian-based, predominantly free-software Linux distribution The only one of the three where both hardware design and the entire software stack aim for GPL-level openness, running mainline Linux (Phosh). Most “actually open source” of the three; uses an aging, underpowered SoC (i.MX8), so performance lags well behind Fairphone or Volla. Actively maintained — PureOS Crimson released across 2026, PureOS Dawn in development puri.sm/products/librem-5

Recommendation: Fairphone 6 remains the strongest default — index.html's specific claim about a user-replaceable battery is accurate today, repairability is independently verified, and performance is mainstream-competitive, at the cost of running a fairly ordinary (if de-Googleable) Android build. Choose the Librem 5 only if genuinely open-source software matters more than raw performance. Volla Phone sits in between: a smaller company with less mature repair support, but an OS that's open source out of the box.

Plays well with: Personal communicator — /e/OS (that row's recommended pick) runs on Fairphone 6 as Murena's flagship device, so choosing Fairphone here and /e/OS there is the same real-world combination that row's claim describes. The Librem 5 pairs with its own PureOS/Phosh stack instead.

Agrees with index.html's current claim. Fairphone genuinely offers an independently-verified user-replaceable battery and is the strongest currently-available repairable-phone pick, though the claim slightly conflates “open source” with “repairable/ethical.”

Handheld sensor device

index.html currently says: “Open hardware boards + SDR + thermal cams — more tricorder-like, more assembly required.”

Project License What it does Privacy stance Status Source
HackRF One + PortaPack (Mayhem firmware) HackRF hardware designs and firmware published on GitHub under open licenses; community Mayhem firmware is GPL-licensed Open hardware software-defined radio (1 MHz–6 GHz); with the PortaPack add-on and Mayhem firmware it becomes a genuinely standalone handheld spectrum scanner with its own screen. Closest real match to a tricorder's “scan for signals” function, though it requires buying/attaching the PortaPack add-on. Actively maintained — Mayhem nightly builds through Jul 11, 2026 greatscottgadgets/hackrf
Flipper Zero Firmware source published on GitHub, though not uniformly open — some ST radio-stack components remain proprietary blobs A pocket multi-tool combining sub-GHz radio, NFC/RFID, infrared, and GPIO in one handheld device with a screen and buttons. Most “off-the-shelf tricorder” feeling of the three; mid-2026 saw genuine community concern over firmware development slowing, since addressed with a recommitment of resources. Actively maintained — stable firmware 1.0 since Sep 2024, commits through Jul 2026 flipperdevices/flipperzero-firmware
M5Stack modular sensor ecosystem (Core2/Cardputer + Units) Hardware schematics and example firmware per module published on GitHub under generally permissive licenses; not a single OSHWA-certified product line A build-your-own-tricorder ecosystem: a handheld ESP32/microcontroller base plus snap-on sensor Units — thermal imaging (MLX90640), environmental/air-quality (BME688), and more. Most literal match to “open hardware boards + thermal cams,” but also the most assembly-and-code-required of the three. Actively sold and documented — current product catalog docs.m5stack.com/en/products

Recommendation: If matching the claim exactly (SDR + thermal, DIY assembly) is the goal, M5Stack's modular Units are the most literal fit and cheapest entry point, but expect real soldering/coding/case-design work. HackRF One + PortaPack Mayhem is the better pick if RF-scanning is the priority and a finished, ready-to-use handheld matters more than modularity. Flipper Zero is the best starting point for someone who wants a low-assembly device today, accepting it covers a narrower set of “senses” and carries a small amount of firmware-roadmap uncertainty.

Plays well with: Ship terminal / console hardware — the Framework/System76 machines there are the natural flashing/development host for all three — HackRF/Mayhem firmware builds, Flipper Zero's qFlipper updater, and M5Stack's Arduino/UIFlow tooling all run from a normal Linux laptop.

Agrees with index.html's current claim. Real open hardware SDR (HackRF) and thermal-camera modules (M5Stack) exist and are tricorder-like, but none of the three is a single finished tricorder — all require meaningfully more assembly/configuration than the show's one-button device.

Personal communicator

index.html currently says: “Fairphone on /e/OS + Signal — E2E-encrypted comms on hardware you can open with a screwdriver.”

Project License What it does Privacy stance Status Source
Signal Clients (Android/iOS/Desktop) are AGPLv3; the Signal Protocol library is GPLv3 End-to-end encrypted messaging/calling with an open, independently audited protocol; both server and client code are open source. The most credible, actively-maintained E2EE messenger for mainstream daily use; a phone number is still required and the service runs on centralized (if minimal-metadata) infrastructure. Actively maintained — iOS 8.14 (Jun 4, 2026), Android 8.10.3 (May 19, 2026) signal.org
/e/OS (Murena) AOSP-based, predominantly open source (Apache-2.0 core plus GPL kernel components) A de-Googled Android fork with its own privacy-respecting app repository and cloud alternative, sold pre-installed on Fairphone hardware by Murena. Murena's cloud/workspace services run on the company's own infrastructure, not self-hostable by default. Actively maintained — /e/OS 4.0 released Jun 2026 murena.com/e-os-4-0
GrapheneOS Open source, AOSP-consistent licensing plus GrapheneOS's own components A security-hardened AOSP fork with a stronger sandboxing/exploit-mitigation track record than /e/OS. Officially Pixel-only, so it cannot run on the Fairphone this row's claim (and the Personal access device row) recommends — trades away repairable hardware for a harder security posture. Actively maintained — current release line covers Pixel 6 through Pixel 10/10 Pro grapheneos.org/releases

Recommendation: /e/OS + Signal best matches the claim as written — repairable Fairphone hardware plus a de-Googled OS plus E2EE messaging, all currently shipping and maintained. Recommend GrapheneOS + Signal instead only for readers who prioritize hardened security over repairable/ethical hardware. Signal itself is close to non-negotiable either way.

Plays well with: Personal access device — this row is the software/communications half of that row above; /e/OS is literally the OS Murena preinstalls on the Fairphone 6 recommended there, so “Fairphone 6 + /e/OS + Signal” is one coherent real-world stack across both rows. Choosing GrapheneOS here instead pulls a reader toward Pixel hardware, away from that row's Fairphone pick.

Agrees with index.html's current claim. Fairphone on /e/OS with Signal is a real, currently-shipping, actively-maintained combination that does deliver genuine E2E-encrypted communication on repairable hardware, exactly as claimed.

Data Storage & Processing

Storage medium

index.html currently says: “Self-hosted NAS or E2E-encrypted cloud (Proton Drive) — either way, only you hold the keys.”

Project License What it does Privacy stance Status Source
TrueNAS Community Edition Open source (GPL-3.0 Linux kernel + BSD-licensed middleware/GUI); the Enterprise tier is a paid add-on, not required for home use A free, self-hosted NAS operating system (ZFS-based storage, snapshots, shares, and now LXC-style containers) that runs entirely on hardware you own. No vendor holds a decryption key; the ZFS layer underneath provides the actual data-integrity guarantees the claim gestures at. Actively maintained — CORE/SCALE unified into Community Edition; 25.10.4 (Jun 3, 2026), 26-BETA.2 previewing OpenZFS 2.4 truenas.com/truenas-community-edition
Proton Drive Client apps are open source and independently audited; server-side infrastructure is Proton's own and not self-hostable Files are encrypted client-side before upload under a “zero-access encryption” design, so Proton itself cannot read them. Only the client apps are open source and auditable — the server side is proprietary, centrally-hosted infrastructure you're trusting Proton to run correctly. Actively maintained — 2026 cryptography overhaul, native Linux client in progress proton.me/security/zero-access-encryption
Nextcloud Hub AGPLv3, no open-core split A self-hosted alternative to Proton Drive: folder-level, client-side end-to-end encryption plus full file sync/share, calendar, and office-suite features. Server never sees plaintext for E2EE folders, and you run the server yourself, unlike Proton's proprietary server side. Actively maintained — Hub 26 “Winter” (Feb 2026); 500,000+ servers reported running it as of 2025 nextcloud.com/encryption

Recommendation: Start with TrueNAS Community Edition if the goal is literally “self-hosted NAS” — it's free, open source, ZFS-backed, and its 2026 roadmap keeps it current. Reach for Nextcloud Hub instead of Proton Drive if self-hosting matters more than convenience. Proton Drive remains the right pick for readers who want the claim's specific named product and are comfortable trusting Proton's infrastructure rather than operating their own box.

Plays well with: Processing redundancy — TrueNAS is the natural home for that row's redundancy tooling (it ships OpenZFS directly) and can serve as the storage backend for the Core architecture row's local-LLM inference stack or the Primary interface row's Open WebUI chat/RAG document storage.

Agrees with index.html's current claim. Self-hosted NAS software (TrueNAS) and Proton Drive's E2E-encrypted cloud are both real, current, actively-maintained options that put encryption keys in the user's hands rather than a third party's, exactly as the claim frames the choice.

Core architecture

index.html currently says: “Same transformers, quantized (GGUF) onto a consumer GPU or unified-memory mini PC at home.” This row covers local-LLM inference runtimes — the software that loads a quantized GGUF-style model and serves it — not which model to run; model selection is the Natural language processing row's job.

Project License What it does Privacy stance Status Source
llama.cpp MIT The reference C/C++ inference engine that originated the GGUF format itself; loads a quantized model, manages the KV cache, and can expose an OpenAI/Anthropic-compatible HTTP server. Runs on a single consumer GPU (or CPU-only) with no cloud dependency — prompts, responses, and weights stay on the machine it runs on. Actively maintained — continuous build-tagged releases (b10075, Jul 20, 2026), 120,898+ stars ggml-org/llama.cpp
Ollama MIT (a 2025 desktop-app license ambiguity was resolved Nov 2025 — the whole repo now falls under one MIT LICENSE) A single binary that pulls quantized GGUF models and serves them locally with minimal setup — the most widely-adopted “consumer GPU or unified-memory mini PC” runtime. Popular specifically on Apple Silicon unified-memory Macs and consumer NVIDIA GPUs; no outstanding licensing concern as of this research date. Actively maintained — v0.32.1 (Jul 16, 2026); 52M monthly downloads reported Q1 2026 ollama/ollama
vLLM Apache-2.0 A higher-throughput serving engine (PagedAttention, continuous batching) aimed at running one model for several concurrent local users/devices; supports GGUF alongside AWQ/GPTQ/FP8. Narrower “at home” fit than llama.cpp/Ollama — wants a real NVIDIA GPU rather than being CPU/unified-memory-friendly. Actively maintained — hosted under the PyTorch Foundation; v26.06 (Jul 2026) adds CUDA 13.0 support vllm-project/vllm

Recommendation: Start with Ollama for the actual “consumer GPU or unified-memory mini PC at home” case — it's the lowest-friction way to run a quantized GGUF model locally today, and it's cleanly MIT-licensed with no outstanding ambiguity. Drop to bare llama.cpp for tighter control over quantization/build flags. Reach for vLLM only once “one model, one user” stops being the real workload.

Plays well with: Onboard AI personality — whichever runtime is picked here becomes the shared local backend for Primary interface's Open WebUI/oterm/Home Assistant Assist and Touchscreen GUI's Cua. Ollama in particular does double duty: the same instance that serves the model here also holds the household's persona via a Modelfile SYSTEM directive in the Onboard AI personality row — one install, two jobs, not two unrelated tools.

Agrees with index.html's current claim. llama.cpp, Ollama, and vLLM are all real, currently-maintained runtimes that do exactly what the claim describes: take a transformer, quantize it to GGUF, and run it on a consumer GPU or unified-memory mini PC rather than a hyperscaler cluster.

Processing redundancy

index.html currently says: “Whatever redundancy you build — RAID and a second box, or it's a single point of failure.”

Project License What it does Privacy stance Status Source
OpenZFS CDDL (weak-copyleft, OSI-approved, but GPL-incompatible per the FSF, so it ships as a loadable kernel module on Linux) The RAID-Z/mirror layer underneath TrueNAS and most serious homelab NAS builds: real-time redundancy against 1–3 simultaneous disk failures, snapshots, and zfs send/receive for replicating a full pool to a second box. Directly matches both halves of the claim (“RAID and a second box”) in one tool; CDDL's GPL-incompatibility keeps it a separately maintained out-of-tree module. Actively maintained — 2.4.3 (Jun 12, 2026), stabilized RAID-Z expansion openzfs.github.io/openzfs-docs
SnapRAID GPL-3.0 A lighter-weight alternative to ZFS for home media/parity arrays: scheduled (not real-time) parity computed across up to six disks of protection. Because parity syncs are scheduled rather than continuous, any file written since the last sync is genuinely unprotected — a real gap the claim's “whatever redundancy you build” phrasing implicitly warns about. Actively maintained — CLI v14.9 (Jul 19, 2026) amadvance/snapraid
restic BSD-2-Clause Encrypted (AES-256), deduplicated backups to a second location — SFTP, another server, or S3-compatible object storage. Covers the “second box” half of the claim for readers who don't want full ZFS replication between two always-on machines — one cron job pushing encrypted snapshots off-site. Actively maintained — v0.19.0 current as of early 2026 restic/restic

Recommendation: If the storage medium is already TrueNAS, OpenZFS is not a separate install — RAID-Z plus zfs send/receive to a second TrueNAS box is the most complete real-world match for “RAID and a second box” in one stack. Choose SnapRAID+mergerfs instead only if the array is a JBOD of mismatched drive sizes with mostly write-once media. Layer restic on top of either as the actual off-site “second box” leg regardless of which parity scheme is chosen.

Plays well with: Storage medium — builds directly on that row's TrueNAS pick (ZFS is TrueNAS's native filesystem) and can back up the same TrueNAS box's config/datasets that host the Core architecture row's model weights and any chat/RAG data from the Primary interface row's Open WebUI.

Agrees with index.html's current claim. Real, current open-source tools exist for both RAID-style redundancy (OpenZFS, SnapRAID) and second-box replication (ZFS send/receive, restic), but none of them is automatic — a reader who does nothing really is left with the single point of failure the claim warns about.

Compute core hardware

Bonus row, not on the pricing table: Storage medium, Core architecture, and Ship terminal / console hardware between them cover the NAS software, the inference runtime, and the laptop you sit at — but none of them names the actual box that runs TrueNAS and Ollama around the clock. This row exists because the reference stacks below keep saying “the household runs TrueNAS as the box underneath all of this” without ever saying what that box is.

Project License What it does Privacy stance Status Source
Framework Desktop CC BY 4.0 (mainboard documentation and printable mechanical parts) — the same partial-openness caveat as the Framework laptop above, not a fully open board A Mini-ITX desktop built around AMD's Ryzen AI Max+ 395 APU with up to 128GB of unified memory — fast enough to run a 70B-parameter model at 20+ tokens/second on one machine, with no discrete GPU required. Everything — model weights, NAS data, chat history — stays on hardware in the house; the unified-memory design means there's no separate GPU driver stack phoning home. Actively shipping — FrameworkComputer/Framework-Desktop repo pushed Jul 6, 2026, 308 stars, not archived frame.work/desktop
System76 Thelio Coreboot + system76/firmware-open (GPL-licensed) — the same open firmware already used for the Lemur Pro laptop above, now on a desktop chassis A Linux-first desktop/workstation line (redesigned Apr 2026 as Thelio Mira / Thelio Major) with room for a real discrete NVIDIA or AMD GPU, for readers who want dedicated inference hardware rather than a unified-memory APU. Open boot firmware plus a real GPU slot means both the software stack and the compute hardware itself are inspectable and swappable, not sealed to one vendor's silicon. Actively maintained — Thelio Major/Mira redesign shipped Apr 2026 system76.com/desktops
Minisforum MS-02 Ultra Proprietary BIOS/firmware — the least open of the three, included anyway because it's the pick homelab communities actually reach for A sub-4-liter mini PC with dual 10GbE, three M.2 NVMe slots, and a PCIe 4.0 slot for a discrete GPU — small enough to run TrueNAS and a passed-through GPU for Ollama in the exact same box the reference stacks describe. Closed firmware is a real trust gap the other two picks don't have; the trade-off is a single small box that genuinely combines NAS and GPU compute, which neither Framework Desktop nor Thelio does as compactly. Actively shipping as of 2026 — official successor to the now-dated MS-01 store.minisforum.com

Recommendation: Framework Desktop is the most complete match for the “consumer GPU or unified-memory mini PC” framing this whole report is built around — one box, one purchase, no GPU passthrough configuration required, and it's already the same vendor as the laptop pick above. Choose System76 Thelio instead if a discrete GPU with room to upgrade later matters more than compactness. Reach for the Minisforum MS-02 Ultra specifically to combine NAS and GPU inference in one small, cheap box — and go in accepting its firmware isn't open, unlike the other two.

Plays well with: Storage medium and Core architecture — this is the physical hardware TrueNAS and Ollama actually run on, and Processing redundancy's OpenZFS pool lives on its drives too. Distinct from Ship terminal / console hardware's laptops: that row is the machine a person sits at, this row is the machine that just runs, headless, around the clock.

Orchestration & deployment

Bonus row, not on the pricing table: every reference stack below says the household “runs TrueNAS and Ollama and Open WebUI and Keycloak on the same box” — but none of them names what actually makes a dozen services coexist on one machine. Almost everything in this report is normally deployed as a container, and the “all on one box” claim quietly assumes a runtime and, often, a hypervisor underneath it. This row is that missing substrate.

Project License What it does Privacy stance Status Source
Docker Engine + Compose Apache-2.0 The default self-hosting runtime: one compose.yaml per stack declares every service, network, and volume, and docker compose up brings the whole set up reproducibly. Nearly every project in this report ships an official Compose file. Runs entirely on your own hardware; images can be pinned by digest and mirrored locally so nothing has to be pulled from a registry at deploy time. Actively maintained — Compose v5.3.1 (Jul 7, 2026), 37.8k+ stars docker/compose
Podman (+ Quadlet) Apache-2.0 A daemonless, rootless-by-default container engine with a Docker-compatible CLI; its Quadlet integration runs each container as a native systemd unit, so restarts and dependencies are managed by the OS rather than a background daemon. Rootless containers shrink the blast radius of a compromised service — a container escape lands as an unprivileged user, not root. Actively maintained — v6.0.1 (Jul 8, 2026), 32.3k+ stars containers/podman
Proxmox VE AGPL-3.0 A Debian-based bare-metal hypervisor (KVM VMs + LXC containers) that resolves the “one box” tension honestly: TrueNAS runs in a VM with the disk controller passed through to it, while the containerized services run in a separate VM or LXC on the same physical host, each isolated but sharing one machine. Fully self-hosted; the whole virtualization control plane is open source with no phone-home, though a paid enterprise repo exists for support/stability. Actively maintained — Proxmox VE 9.2 (May 21, 2026), Debian 13 base proxmox.com/proxmox-virtual-environment

Recommendation: Start with Docker Compose — it's what almost every project in this report documents, and a per-stack compose.yaml is the lowest-friction way to bring up Open WebUI, Keycloak, Vaultwarden, Nextcloud, Headscale, Uptime Kuma, and CrowdSec reproducibly. Reach for Podman if rootless isolation or systemd-native management matters more than ecosystem ubiquity. Add Proxmox VE underneath both once you actually want TrueNAS and GPU-accelerated Ollama and a dozen containers on a single machine — virtualizing TrueNAS (with HBA passthrough) beside a container VM is the real-world shape of the “one box” every stack below assumes. A lighter alternative is to run TrueNAS on bare metal and use its own built-in app catalog — a Docker-Compose-based engine, separate from the LXC-style container instances noted in the Storage medium row — for the service layer.

Plays well with: Compute core hardware — this is the layer that actually runs on that box, and it's the unspoken dependency of nearly every software pick in this report: Open WebUI, Keycloak / Vaultwarden, Nextcloud, Headscale, Uptime Kuma, and the reverse proxy below are all normally deployed as containers on top of it.

AI & Autonomy

Onboard AI personality

index.html currently says: “Any persona you like — the system prompt is yours to edit.”

Project License What it does Privacy stance Status Source
Ollama (Modelfile SYSTEM directive) MIT Ollama's Modelfile format lets you bake a persistent SYSTEM prompt into a named local model variant, or override it per-session at runtime. Everything — model weights, persona text, conversation — runs and stays on your own machine; no persona data is sent anywhere. Actively maintained — v0.32.1 (Jul 16, 2026), weekly cadence ollama/ollama
SillyTavern AGPL-3.0 A self-hosted chat front end built around character personas: “character cards” bundle a name, avatar, and personality definition, layered with world-info/lorebooks. Connects to any backend (local Ollama/llama.cpp, or a hosted API key you supply); stored personas/chat logs live in your own data directory. Actively maintained — v1.18.0 (May 3, 2026), commits through Jul 11, 2026 SillyTavern/SillyTavern
Open WebUI (Workspace “Models”) “Open WebUI License” (BSD-3-Clause base plus a mandatory branding-retention clause for deployments over 50 users) The Workspace → Models screen lets you wrap any connected base model with a custom name, avatar, system prompt, knowledge base, and tools, saved as a selectable persona. Same self-hosted deployment flagged in the Primary interface row for its 2025 branding-clause license change; persona/system-prompt data stays on your own server regardless. Actively maintained — v0.10.2 (Jul 1, 2026) docs.openwebui.com/features/workspace/models

Recommendation: Start with Ollama's Modelfile SYSTEM directive if you just want one or two fixed personas bound to specific local models — lowest-overhead option, no licensing caveats. Reach for SillyTavern if you want to swap between many distinct personas in a single session, accepting AGPL-3.0 copyleft terms if you redistribute a modified build. Open WebUI's Workspace/Models feature is the middle ground for a household, with the same branding-clause caveat already noted for the Primary interface row.

Plays well with: Core architecture — all three need a model to actually run, and Ollama is both a candidate here and the natural local-inference backend for the other two. This is the same Ollama instance doing double duty: one install, two jobs — serving the model (Core architecture) and holding the persona (this row) — not two unrelated discoveries of the same tool.

Agrees with index.html's current claim. Self-hosted tooling genuinely lets you write, edit, and swap any system prompt/persona you like, with no platform-imposed restriction on content, matching the “yes” status.

Autonomous decision-making

index.html currently says: “Open agent stacks run locally — capable, but you're the safety team.”

Project License What it does Privacy stance Status Source
CrewAI MIT A Python framework for orchestrating teams (“crews”) of role-playing autonomous agents that plan, delegate, and execute multi-step tasks, with a separate “Flows” system for deterministic control. Runs entirely on infrastructure you control against any LLM backend, including fully local models; no built-in approval gate stops a destructive tool call. Actively maintained — v1.15.5 (Jul 20, 2026), very active release cadence crewAIInc/crewAI
OpenHands MIT for the core project (a separate enterprise directory has its own license) A software-engineering agent that runs a plan → code → run-in-sandbox → fix loop against a real terminal, file system, and browser. Self-hostable with any LLM API key including a local model server; sandboxing limits blast radius, but nothing stops it running destructive commands inside that sandbox. Actively maintained — cloud-1.47.0 (Jul 21, 2026) OpenHands/OpenHands
AutoGPT Split — the original agent (classic/) is MIT; the newer “AutoGPT Platform” is PolyForm Shield License 1.0.0 (source-available, restricts building a competing product) One of the original “give an LLM a goal and let it plan its own steps” agents, now split between the classic single-agent version and a newer visual, block-based platform. Both run against your own LLM credentials; the platform's PolyForm Shield terms are a real license caveat worth flagging even though the code remains inspectable and self-hostable. Actively maintained — platform beta v0.6.68 (Jul 17, 2026), 185k+ stars Significant-Gravitas/AutoGPT

Recommendation: Start with CrewAI if the goal is a small, controllable multi-agent workflow — cleanly MIT-licensed, no platform lock-in, and its “Flows” mode keeps a human-in-the-loop checkpoint exactly where this row's caveat says you need one. Reach for OpenHands specifically for coding/dev tasks, and pair it with container-level sandboxing, not credentials wider than the task needs. Treat AutoGPT's classic agent as a historically important but now second-tier option, and note its newer “Platform” half is not MIT. None of the three ship a safety layer beyond basic sandboxing.

Plays well with: Known sentience risk — all three are LLM-agnostic orchestration layers that pair with the local-inference picks from the Core architecture row and can share the same open-weight model chosen for Onboard AI personality. For guardrails against exactly the unsupervised-action risk this claim flags, pair any of the three with the guardrail/red-teaming tooling in the next row.

Agrees with index.html's current claim. CrewAI, OpenHands, and AutoGPT are all real, current, self-hostable agent stacks capable of genuine autonomous multi-step action, and none of them include a built-in safety reviewer: the operator is unambiguously the safety team.

Known sentience risk

index.html currently says: “Same open question — but at least you can read the weights.” This row is a reinterpretation, not a literal sentience test: no open-source tool measures, detects, or rules out machine sentience — that remains a philosophical and scientific open question with no instrument that resolves it, in this codebase's fiction or in reality. The three candidates below are the closest real analog available — open-source tooling that tests whether a model or agent is behaving unexpectedly or unsafely (guardrail frameworks, vulnerability scanners, and red-teaming/jailbreak harnesses), reinterpreted onto AI safety and guardrails tooling rather than onto anything that answers the sentience question itself.

Project License What it does Privacy stance Status Source
NeMo Guardrails (NVIDIA) Apache-2.0 A runtime guardrail framework: programmable “rails” (topical, safety, jailbreak-detection, execution rails around tool/agent calls) intercept a conversation or agent action before and after the LLM call. Self-hosted; enforces rules the operator writes, not an independent judgment about the model's inner state — the category closest to “ongoing supervision of an autonomous system.” Actively maintained — v0.23.0 (Jul 1, 2026), commits through Jul 21, 2026 NVIDIA-NeMo/Guardrails
garak (NVIDIA) Apache-2.0 An LLM “vulnerability scanner”: a CLI tool with 50+ probe modules that throw known failure-inducing inputs at a model or agent (jailbreaks, prompt injection, data leakage, an “Agent-breaker” probe for agent tools) and reports which probes succeeded. Offline/pre-deployment testing for unexpected or unsafe behavior, not a measurement of anything resembling awareness or experience. Actively maintained — v0.15.1 (Jun 5, 2026), 8.5k+ stars NVIDIA/garak
PyRIT (Microsoft) MIT An automation framework built by Microsoft's AI Red Team for orchestrating adversarial-prompt campaigns against a target model or agent, scoring responses and logging what got past defenses. Tests for exploitable, unsafe, or policy-violating behavior under adversarial pressure; no mechanism for and makes no claim about assessing sentience or inner experience. Now at microsoft/PyRIT — the old Azure/PyRIT location is archived. Actively maintained — v0.14.0 (Jun 5, 2026), commits through Jul 21, 2026 microsoft/PyRIT

Recommendation: Closest real practice is guarding against unexpected/unsafe autonomous behavior — not measuring sentience, which no tool in this space claims or attempts to do. If running any of the agent stacks from the Autonomous decision-making row, start with NeMo Guardrails as the runtime layer, then use garak and/or PyRIT before deployment to probe for jailbreaks and prompt-injection weaknesses the guardrails might miss. All three are current, actively-maintained, permissively-licensed projects — but this row is a reinterpretation, not a real answer to “is it sentient”: that question has no open-source instrument, full stop.

Plays well with: Autonomous decision-making — directly complements that row's candidates (CrewAI, OpenHands, AutoGPT): NeMo Guardrails wraps around any of them as a runtime policy layer, while garak and PyRIT are used to red-team the underlying model before it's given agentic tool access. All three are model-agnostic and can point at the same local open-weight model chosen elsewhere in this group.

Disagrees with index.html's current claim, taken literally. The line plays along with the bit (“read the weights” as a stand-in for insight into sentience), which is fair satire, but taken literally it overstates what's real: no open-source tool, weight-readable or not, tests for or resolves the sentience question. The genuinely real practice available today is behavioral guardrails and red-teaming — a different (and answerable) problem than the one the row's label names.

Simulation & Holography

Holodeck / holo-environments

index.html currently says: “Not available — SteamVR on Linux exists, still no photons with mass.”

Project License What it does Privacy stance Status Source
Monado Boost Software License 1.0 Open-source implementation of the Khronos OpenXR standard for GNU/Linux (with Android and Windows support) — the compositor/runtime layer that lets an application talk to VR/AR hardware without a proprietary driver stack. Runs entirely on hardware and software you control — no telemetry-collecting vendor runtime required to get an OpenXR app on screen. Actively maintained — latest stable 25.1.0 (Dec 9, 2025), in-progress “vNEXT” entries dated as recent as Jul 21, 2026 gitlab.freedesktop.org/monado/monado
WiVRn GPL-3.0 Wirelessly streams a PC-rendered OpenXR/SteamVR-compatible scene to a standalone Android headset (Quest 1–3S, Pico 4, Vive Focus/XR Elite and others), built on top of Monado. All rendering, compositing, and networking run on hardware you own, with no cloud relay. Actively maintained — latest release v26.6.2 (Jul 14, 2026), commits as recent as Jul 21, 2026 WiVRn/WiVRn
Hubs (Hubs Foundation, formerly Mozilla Hubs) MPL-2.0 Self-hostable, browser-based (WebXR) multi-user virtual space platform: invite others into a 3D room, walk around, bring in web content, and talk over spatialized voice, with the companion Spoke editor for building custom scenes. The closest open-source analog to the shared, persistent, walk-in environment half of a holodeck, but flat WebXR content in a rendered scene, not a compositor-and-hardware runtime. Actively maintained by the community-run Hubs Foundation after Mozilla ended its own hosted service May 31, 2024 — latest production release prod-2026-03-11, commits as recent as Jul 8, 2026 Hubs-Foundation/hubs

Recommendation: There is no real candidate that rebuts “no photons with mass” — that stays true. For the closest practical open stack for room-scale shared VR today: start with Monado as the runtime layer (it's now a shared foundation several commercial headset vendors build on), add WiVRn if the headset is a standalone Android device that needs to talk to a Linux PC wirelessly, and use Hubs for the actual shared/social/persistent-space experience once hardware and runtime are sorted.

Plays well with: Monado and WiVRn are complementary layers (WiVRn is built on Monado), not competitors — pick both if the headset is a standalone Quest/Pico-class device. For local AI-driven characters populating a Hubs space, pair with Holographic crew — the persona/memory tooling in the next row.

Agrees with index.html's current claim. The verdict that full sensory, forcefield-assisted holodeck matter is “not available” remains accurate; SteamVR-on-Linux (and its genuinely open alternatives Monado/WiVRn) get you shared immersive VR, never tangible photons.

Holographic crew

index.html currently says: “Self-hosted personas persist exactly as long as your backups do.”

Project License What it does Privacy stance Status Source
Letta (formerly MemGPT) Apache-2.0 Self-hostable framework/server for “stateful” LLM agents whose identity is a persistent object: core memory blocks (persona + human facts) plus an archival memory the agent can search, stored in a database you run (Postgres or SQLite). Kill the process, restart it, and the persona resumes exactly where it left off — because “the persona” is rows in your database. Actively maintained — latest release 0.16.8 (May 14, 2026), commits as recent as Jul 3, 2026 letta-ai/letta
Mem0 Apache-2.0 A memory layer you attach to an existing agent/chat stack: extracts durable facts and preferences from conversations, stores them in a vector/graph store of your choosing (self-hosted Qdrant, Neo4j, or others). Lower-level than Letta — a memory API to bolt onto whatever agent runtime you already have; continuity is entirely a function of backing up that store. Actively maintained — latest release cli-node-v0.2.11 (Jul 13, 2026), commits as recent as Jul 21, 2026, 61k+ GitHub stars mem0ai/mem0
Graphiti Apache-2.0 Self-hosted temporal knowledge-graph engine for agent memory: facts are stored as graph edges with validity time ranges against a database you run (Neo4j or FalkorDB), so an agent can reason about what was true when. The most structurally sophisticated of the three for a persona that needs to track evolving relationships and history, at the cost of running and backing up a real graph database yourself. Actively maintained — latest release v0.29.2 (Jun 8, 2026), commits as recent as Jul 20, 2026, 29k+ GitHub stars. Note: the separate getzep/zep repo is not this candidate — it now ships only Zep Cloud example code; Graphiti is the actual self-hostable open-source engine. getzep/graphiti

Recommendation: Start with Letta if the goal is one persistent named persona with a simple, inspectable memory model — it's a complete self-hosted agent server, and “restart and it remembers” is the most direct real-world match to the claim. Reach for Mem0 if there's already an agent/chat stack in place and only a memory layer is needed on top. Choose Graphiti specifically when the persona needs to track changing facts over time, but budget for running and backing up a real graph database. All three make the caveat literal: the persona is data, and it is exactly as durable as the database backups protecting it.

Plays well with: Onboard AI personality (Ollama Modelfiles, SillyTavern, Open WebUI) to give a persona both a personality/voice and a durable memory, and with the local-inference runtimes from Primary interface / Core architecture (Ollama, llama.cpp, vLLM) as the model actually doing the talking.

Agrees with index.html's current claim. Letta, Mem0, and Graphiti are all real, currently-maintained, self-hostable projects whose entire value proposition is that a persona's continuity is stored data; if you don't back that data up, the persona is gone, exactly as the row states.

Security & Access Control

Authorization method

index.html currently says: “Passkeys, FIDO2 hardware keys, Bitwarden / Proton Pass — auditable end to end.”

Project License What it does Privacy stance Status Source
Vaultwarden AGPL-3.0 Unofficial, Rust-rewritten, self-hostable server implementation of the Bitwarden API — official Bitwarden apps/extensions point at your own instance instead of Bitwarden's cloud; also supports WebAuthn/FIDO2 hardware keys as a two-factor login method. Vault data lives entirely on your own server. Caveat: passwordless login to the vault itself via passkey is not yet implemented server-side (PR #5929 was still open/unmerged as of Jul 21, 2026). Actively maintained — latest release v1.36.0 (May 3, 2026), commits as recent as Jul 20, 2026, 64k+ GitHub stars dani-garcia/vaultwarden
KeePassXC GPL-2.0-or-later (dual GPL-2.0/GPL-3.0 per COPYING) Fully offline, local-first password database with a browser-extension bridge storing/autofilling FIDO2 passkeys directly inside the encrypted .kdbx file; supports YubiKey/OnlyKey hardware keys for database-unlock. No cloud sync of any kind unless you add your own — the most “auditable end to end” of the three in the strict sense. Actively maintained — latest release 2.7.12 (Mar 10, 2026), commits as recent as Jul 11, 2026, 28k+ GitHub stars keepassxreboot/keepassxc
Keycloak Apache-2.0 Self-hosted identity and access management (IAM) server — become your own OAuth2/OIDC/SAML provider for every other self-hosted app, with a built-in WebAuthn engine supporting passkeys as both first-factor and second-factor. Central, inspectable audit logs of every authorization event across a whole self-hosted stack — a different kind of “auditable end to end” than a password manager provides. Actively maintained — latest release 26.7.0 (Jul 9, 2026), commits as recent as Jul 21, 2026, 35k+ GitHub stars keycloak/keycloak

Recommendation: Start with Vaultwarden — it's the lowest-friction option and covers “Bitwarden” directly, with the one honest caveat that logging into the vault itself via passkey is still an open PR, not shipped. Reach for KeePassXC instead if “auditable end to end” needs to mean literally zero network dependency. Add Keycloak on top of either once there's more than one self-hosted service to protect — the closest real analog to a ship-wide command-code system.

Plays well with: Vaultwarden and KeePassXC are both password/passkey stores, not identity providers — either can hold the credentials a person uses to reach a Keycloak-protected login screen, and Keycloak in turn can be the OIDC provider in front of self-hosted apps like Primary interface's Open WebUI. All three are independent of model/inference choice.

Agrees with index.html's current claim. Passkeys, FIDO2 hardware keys, and self-hosted Bitwarden-compatible vaults are real, current, and (with a self-hosted server) genuinely auditable end to end; the one nuance is that this is strongest for KeePassXC (no server at all) and weakest for Vaultwarden's own login flow specifically.

Hostile takeover incidents (logged)

index.html currently says: “Same prompt-injection problem, and you're your own security team — but the attack surface is inspectable.” Reinterpreted row: there is no real-world “hostile takeover incident log” analogous to a starship being boarded. The honest real-world analog is home-lab/network-layer intrusion detection and hardening — the firewall, IDS/IPS, and log-based threat-detection tooling a self-hoster actually runs to notice and stop unauthorized access to their own infrastructure. The candidates below are evaluated against that real practice, not a literal takeover log.

Project License What it does Privacy stance Status Source
OPNsense BSD-2-Clause Full self-hosted firewall/router OS (hardened, actively-developed FreeBSD-based fork of the pfSense lineage) run as the edge device in front of a home network; can host Suricata as an in-line IDS/IPS plugin directly. One codebase under one open license with no free/paid feature split — a single auditable choke point for inbound/outbound traffic. Actively maintained — twice-yearly major-release cadence, current series 26.7 with point release 26.7.1 opnsense/core
Suricata GPL-2.0 Network intrusion detection/prevention engine (IDS/IPS) inspecting live traffic against signature rulesets (e.g. community Emerging Threats), logging matches or actively dropping flagged packets in inline IPS mode. Every rule match is a plain, greppable log line — the actual “inspectable attack surface” a self-hoster gets in place of a fictional takeover log. Actively maintained by the nonprofit OISF — latest release suricata-8.0.6 (Jul 7, 2026), commits as recent as Jul 10, 2026 OISF/suricata
CrowdSec MIT Log-based threat-detection engine (a modernized, crowdsourced answer to fail2ban) that tails service logs, matches behavioral “scenarios” to spot brute-force/scan/exploit patterns, and hands off enforcement to pluggable “bouncers.” Opt-in community blocklist (10M+ contributed malicious IPs as of mid-2026) — about as close as the real world gets to a shared “hostile takeover” log. Actively maintained — latest release v1.7.8 (May 11, 2026), commits as recent as Jul 21, 2026, 14k+ GitHub stars crowdsecurity/crowdsec

Recommendation: Layer all three rather than picking one: OPNsense as the perimeter firewall, Suricata (bundled or standalone) watching the wire for known attack signatures, and CrowdSec tailing application/service logs to catch brute-force and scan behavior a signature-based IDS alone would miss. None of these produce anything like a “confirmed boarding” count — what a self-hoster actually gets is a stream of blocked-IP and rule-match log entries they have to review themselves.

Plays well with: CrowdSec and Suricata both benefit from being fed logs/traffic from whatever else is self-hosted elsewhere in this project (reverse proxies, SSH daemons, the local-LLM web UIs from Primary interface), and both can run natively on or alongside an OPNsense box. None of the three are specific to AI/LLM tooling.

Disagrees with index.html's current claim, taken literally. The claim is about AI agent security, and there is no real “hostile takeover incident log” to compare it against for a self-hosted setup, fictional or otherwise. The genuinely real practice available today is network/log-based intrusion detection and hardening (OPNsense, Suricata, CrowdSec) — a different, narrower, and answerable problem than “has my system been taken over,” but the self-hoster genuinely is their own security team, and the tooling above is what makes the attack surface inspectable rather than a black box.

Secure device networking

Bonus row, not on the pricing table: Authorization method covers who's allowed in, and Hostile takeover incidents covers watching the perimeter for attackers — neither answers how the Fairphone in your pocket actually reaches the TrueNAS/Ollama box at home once you've left the building. Personal communicator's Signal pick encrypts chat, not this. This row is that missing transport layer.

Project License What it does Privacy stance Status Source
Headscale BSD-3-Clause A self-hosted, open-source reimplementation of Tailscale's coordination server — the official Tailscale client (which uses WireGuard as its underlying data-plane protocol) on every device connects to a control plane you run yourself instead of Tailscale's cloud, forming a private mesh network with MagicDNS, subnet routing, and exit nodes. Plain WireGuard clients don't speak the coordination protocol and can't connect to a Headscale server directly. The actual encrypted traffic between devices is always WireGuard, point-to-point; self-hosting the coordination server too means no third party ever brokers peer discovery for this household's devices. Actively maintained — v0.29.2 (Jul 1, 2026), repo pushed same-day as this research (Jul 21, 2026), 41.9k+ stars juanfont/headscale
Tailscale Client is BSD-3-Clause and open source; the hosted coordination server itself is closed, proprietary SaaS The zero-config on-ramp to the same WireGuard-based mesh — install on every device, sign in, and it just connects. Tailscale's own servers handle peer discovery and NAT traversal, and a direct connection is the normal case; when NAT traversal fails, traffic falls back to Tailscale's DERP relay servers — still end-to-end WireGuard-encrypted, so DERP relays ciphertext it can't read, but it is a third party in the path in that fallback case. Genuinely end-to-end encrypted device-to-device, but peer discovery trusts Tailscale's infrastructure — the exact trade-off Headscale exists to remove. Actively maintained — client v1.98.9 (Jul 20, 2026), repo pushed Jul 21, 2026, 5M+ active devices reported in 2026 tailscale.com/opensource
WireGuard (plain, no coordination server) GPL-2.0 (wireguard-tools) The kernel-level protocol Headscale and Tailscale both build on, used directly — hand-configured peers and keys, no control-plane software at all, the minimum possible trusted-third-party surface. Nothing to self-host and nothing to trust beyond the devices themselves, but no NAT traversal or MagicDNS convenience either — every peer and IP is manually managed. Actively maintained — wireguard-tools repo pushed May 6, 2026 WireGuard/wireguard-tools

Recommendation: Start with Headscale — it gets Tailscale's actual day-to-day convenience (MagicDNS, exit nodes, works through most NATs) while keeping the one piece that matters for this project's whole premise, the coordination server, on hardware in the house. Tailscale itself is the right call only for readers who've decided the peer-discovery trust trade-off is acceptable in exchange for zero maintenance. Drop to plain WireGuard only if the household is small and static enough that manual peer configuration isn't a burden.

Plays well with: Compute core hardware — Headscale's coordination server is one more service that runs on the same box as TrueNAS and Ollama, and once it's up, every device on the mesh (the Fairphone, the Framework laptop) can reach Open WebUI/oterm and Nextcloud/TrueNAS exactly as if it were on the home LAN, from anywhere.

Reverse proxy & TLS

Bonus row, not on the pricing table: Authorization method puts Keycloak “in front of Open WebUI and any other dashboard,” and Secure device networking gets your devices onto the same mesh — but nothing in either row actually terminates HTTPS, routes a hostname to the right container, or presents a single trusted certificate. Every web UI in this report is served over plain HTTP by default. This row is the layer that fixes that.

Project License What it does Privacy stance Status Source
Caddy Apache-2.0 A reverse proxy that provisions and renews TLS certificates automatically (Let's Encrypt / ZeroSSL or an internal CA) with a two-line config per site — the lowest-effort way to put valid HTTPS in front of every self-hosted service. Certificates and keys stay on your own host; with an internal CA it can issue trusted certs for services that never touch the public internet at all. Actively maintained — v2.11.4 (Jun 3, 2026), 74.2k+ stars caddyserver/caddy
Traefik MIT A container-native reverse proxy that discovers services from Docker/Compose labels and reconfigures itself live — new containers are routed and issued TLS certificates automatically, without editing a central config file. Same self-hosted TLS termination as Caddy; the dynamic model fits a fleet of containers that come and go rather than a fixed handful of sites. Actively maintained — v3.7.8 (Jul 15, 2026), 64k+ stars traefik/traefik
Nginx Proxy Manager MIT A web-GUI wrapper around nginx + Let's Encrypt: add a proxy host, pick a certificate, and toggle access rules from a browser instead of a config file — the friendliest on-ramp for someone new to reverse proxying. Self-hosted; the trade-off for the GUI is a heavier, database-backed stack than Caddy's single binary, and a slower release cadence. Actively maintained — v2.15.1 (Jun 3, 2026), 33.6k+ stars NginxProxyManager/nginx-proxy-manager

Recommendation: Start with Caddy — automatic HTTPS with a near-trivial config is exactly what a home stack wants, and it removes the single most common reason self-hosters skip TLS entirely. Choose Traefik instead if the deployment is many short-lived containers and label-driven auto-discovery saves real toil. Nginx Proxy Manager is the right pick only if a browser GUI matters more than a version-controllable text config. Whichever you pick, note that Keycloak only gates apps that speak OIDC natively — for the ones that don't, add a forward-auth layer (Authelia, licensed Apache-2.0, or oauth2-proxy) at the proxy so the SSO front door actually covers them.

Plays well with: Secure device networking and Authorization method — behind Headscale, the reverse proxy is the one service every request lands on first, so it's the natural place to enforce TLS and hang forward-auth off Keycloak. It fronts every browser-facing pick in this report: Open WebUI, Nextcloud, and Uptime Kuma. It is itself deployed via Orchestration & deployment.

DNS & network-level filtering

Bonus row, not on the pricing table: Secure device networking's Headscale gives you MagicDNS across the mesh, but that only names devices on the tailnet. Nothing in the report resolves names for the home LAN, blocks ads and tracker/telemetry domains network-wide, or lets you avoid handing every DNS query to a public upstream resolver. This row is that piece.

Project License What it does Privacy stance Status Source
Pi-hole EUPL-1.2 A network-wide DNS sinkhole: every device's DNS points at it, ad/tracker/malware domains are answered with nothing, and everything else is forwarded — plus local DNS records so nas.home resolves on the LAN. Query logging is local and optional, and blocking telemetry domains at the DNS layer stops a lot of passive tracking before it leaves the network. Actively maintained — v6.4.3 (Jul 6, 2026), 60k+ stars pi-hole/pi-hole
AdGuard Home GPL-3.0 A single-binary equivalent to Pi-hole with encrypted upstream resolution (DoH/DoT/DoQ) and per-client rules built in, configured entirely from its own web UI. Built-in encrypted-upstream support means outbound DNS itself can be private, not just filtered; all logs and config stay on your host. Actively maintained — v0.107.78 (Jul 13, 2026), 35.6k+ stars AdguardTeam/AdGuardHome
Unbound BSD-3-Clause A validating, recursive resolver: instead of forwarding to Google/Cloudflare, it resolves queries from the root servers itself, so no third-party resolver ever sees your full query stream. The most private posture of the three — run it behind Pi-hole/AdGuard Home and no external resolver is trusted at all, at the cost of slightly slower cold-cache lookups. Actively maintained by NLnet Labs — 1.25.1 (May 20, 2026) NLnetLabs/unbound

Recommendation: Start with Pi-hole — it's the ubiquitous choice, covers network-wide blocking and local LAN records in one place, and has the deepest community documentation. Choose AdGuard Home instead if you want encrypted upstream resolution and per-client policies without bolting on extra pieces. Add Unbound behind either one when “only you hold the keys” should extend to DNS too: a Pi-hole + Unbound pair depends on no public resolver at all.

Plays well with: Secure device networking — Headscale's MagicDNS handles names on the mesh while this handles the LAN and egress filtering, and the two compose cleanly (point the tailnet's global nameserver at Pi-hole). It also complements Hostile takeover incidents: DNS-level blocklists cut off command-and-control and telemetry domains that packet-inspecting IDS/IPS would only see after the connection opens. Deployed via Orchestration & deployment.

Sensors & Navigation

Universal translator

index.html currently says: “Whisper + open translation models run locally — near-real-time, fewer languages, no cloud required.”

Project License What it does Privacy stance Status Source
whisper.cpp MIT C/C++ port of OpenAI's Whisper speech-recognition model built for local inference with no Python/CUDA dependency, running on CPU (including phones and Raspberry Pi) or with optional GPU acceleration; ships a stream example for near-real-time microphone transcription. Audio never leaves the device. Actively maintained — latest release v1.9.1 (Jun 19, 2026), commits as recent as Jul 11, 2026, 52k+ GitHub stars ggml-org/whisper.cpp
Argos Translate MIT Offline neural machine translation library built on OpenNMT/CTranslate2, distributing per-language-pair model packages that install and run entirely locally — the actual “open translation model” a Whisper transcript would be piped through. Language coverage (~35 language pairs) is real but far short of a commercial cloud API's 100+, matching the row's own “fewer languages” caveat. Actively maintained — latest git tag v1.11.0 (Feb 2, 2026), commits as recent as Jun 27, 2026, 6.3k+ GitHub stars argosopentech/argos-translate
LibreTranslate AGPL-3.0 Self-hosted translation API/web UI that wraps Argos Translate's models behind a simple REST endpoint, so a household can run one local service that a Whisper transcript is POSTed to instead of calling Google/DeepL. Same underlying models as Argos Translate, packaged as a long-running server rather than a library. Actively maintained — latest release v1.9.6 (May 26, 2026), commits as recent as Jul 19, 2026, 15k+ GitHub stars LibreTranslate/LibreTranslate

Recommendation: Start with whisper.cpp for the speech-to-text leg — it's the most actively developed of the group and its stream example is a working near-real-time local transcription pipeline out of the box. Feed its output into Argos Translate directly for a single-device/single-user setup, or LibreTranslate if multiple devices/apps need to share one translation service. The honest caveat the row already states holds up: local models cover a real but limited language list, and end-to-end latency is “near-real-time,” not instant.

Plays well with: Primary interface's Home Assistant Assist voice pipeline for wake-word-triggered translation, and with local TTS engines (e.g. Piper) to close the loop into spoken output — note Piper is archived upstream (last pushed 2025-08-26), still functional and widely used, just not actively developed (see the Primary interface row's own caveat). None of these three depend on any AI-autonomy or data-storage picks from other groups.

Agrees with index.html's current claim. Whisper-family speech recognition plus locally-run open translation models is a real, currently-maintained, no-cloud-required stack, and “fewer languages” than a commercial cloud service is an accurate, not exaggerated, limitation.

Stellar cartography

index.html currently says: “Stellarium + open sky-survey data — the actual star charts are already open source.”

Project License What it does Privacy stance Status Source
Stellarium GPL-2.0 Desktop/mobile planetarium rendering real star catalogs (Hipparcos by default, with a Gaia DR2/DR3 add-on) plus real deep-sky-object and satellite data; ships a NavStars plugin of the 57 traditional celestial-navigation stars. The one candidate here that maps most literally onto a ship's “stellar cartography for navigation” use case. Actively maintained — latest release v26.2 (Jun 24, 2026), commits as recent as Jul 21, 2026, 9.8k+ GitHub stars Stellarium/stellarium
KStars GPL-2.0-or-later (KDE REUSE-compliant) KDE's astronomy suite: a planetarium view built on the same class of open star/DSO catalogs as Stellarium, bundled with INDI-protocol telescope/mount control, plate-solving, and autoguiding. The actual “navigation” half of stellar cartography — pointing a real telescope at real coordinates, not just viewing a star chart. Actively maintained — ChangeLog shows tagged version 3.8.1, repo pushed as recently as Jul 21, 2026 KDE/kstars
OpenSpace MIT (per LICENSE.md) NASA/AMNH-backed interactive astrovisualization engine rendering real large-scale survey data (Gaia's ~2-billion-star catalog, exoplanet databases, spacecraft trajectories) as a navigable 3D volume. Closer to a starship-scale “stellar cartography deck” than a backyard-telescope planetarium. Actively maintained — latest release v0.22.0 (Jun 12, 2026), commits as recent as Jul 21, 2026, 1.2k+ GitHub stars OpenSpace/OpenSpace

Recommendation: Start with Stellarium if the goal is literally “open star charts” — it's the most direct match for the row's own wording, the most active of the three by commit cadence, and its NavStars plugin is a genuine celestial-navigation dataset. Add KStars instead (or alongside) if the point is to actually use the charts to navigate. Reach for OpenSpace only if the ambition is the full “flying through a 3D star field” cartography-deck experience — real and actively maintained but a heavier, more specialized install.

Plays well with: KStars' INDI backend is the same protocol used by most open-source telescope-control and astrophotography tooling, so it extends naturally into any Handheld sensor device picks involving telescopes/mounts. All three consume the same class of open astronomical data (Gaia, Hipparcos, DSS), so none of these choices are exclusive.

Agrees with index.html's current claim. Stellarium and the open star-survey data behind it (Hipparcos, Gaia) are real, currently maintained, and genuinely open source; the row's own caveat framing is honest, since a planetarium app viewing public survey data is a much smaller thing than a starship's active-sensor stellar cartography deck.

Reliability & Support

Self-repair capability

index.html currently says: “The system can't fix itself, but you can — schematics, parts, and source are all published.”

Project License What it does Privacy stance Status Source
Framework Computer (Laptop 13 / Laptop 16) Hardware design files released openly per-repo (FrameworkComputer/Framework-Laptop-13 = CC-BY-4.0; the real EmbeddedController firmware branches carry a BSD-3-Clause-style “Chromium OS Authors” license) A laptop vendor built around modularity: standard screws, swappable expansion cards, and mainboard schematics published publicly. Every FRU (battery, screen, mainboard, keyboard) is sold directly at transparent prices with a free step-by-step repair guide. The closest real match to “schematics, parts, and source are all published” for a piece of hardware you'd actually buy today. Actively maintained — EmbeddedController pushed Jun 25, 2026, Framework-Laptop-13 repo pushed Jul 14, 2026, Laptop 13 Pro launched Apr 22, 2026 github.com/FrameworkComputer
iFixit Guide/wiki content CC BY-NC-SA 3.0 The reference repair-documentation resource: free, crowd-editable teardown and repair guides for essentially any consumer device, plus a parts marketplace and community answers forum. The “source are all published” analog for devices that don't ship their own official schematics — someone in the community has usually reverse-engineered and documented the repair path anyway. Actively operating — July 2026-dated editorial content live, 160,922+ free guides, 246,412+ community-contributed solutions ifixit.com
PINE64 Schematics released openly per device (PDF/KiCad on the docs wiki) A community-driven hardware maker (PinePhone, PineTime, PineBook, dev boards) that publishes full schematics and encourages third-party modification and repair, with community chat bridged across Discord/IRC/Matrix/Telegram. Openness is if anything more total than Framework (schematics for niche devices few vendors would ever publish), but device support cadence is slower and repair falls almost entirely to the community. Active open-hardware community — GitHub org repos pushed within the research window, community blog's most recent post May 18, 2026 pine64.org

Recommendation: Start with Framework if buying new: it's the only one of the three that is itself a vendor selling the exact parts and schematics the claim describes, at real consumer prices, with an official repair guide for every part. Keep iFixit as the go-to for anything you already own that wasn't designed this way. Treat PINE64 as the “as-open-as-it-gets” option for readers who want hardware with zero vendor lock-in and are willing to trade some polish and support responsiveness for it.

Plays well with: Ship terminal / console hardware — both rows independently rank Framework Computer's Laptop 13/16/Desktop line as their #1 pick, for two different reasons (that row: modular/repairable daily driver; this row: schematics/parts/EC-firmware openly published). A reader who picks Framework for one gets the other for free. PINE64 also overlaps with Handheld sensor device — a repairable body is only half the story if the internals (SBCs, displays, batteries) aren't also documented. iFixit's documentation is generic reference material that applies regardless of which hardware picks a reader makes elsewhere in this report.

Agrees with index.html's current claim. The caveat framing is accurate: none of these projects make hardware self-repairing or self-diagnosing, they simply guarantee that a human doing the repair has schematics, parts, and documented procedure, which is exactly what the claim says.

Uptime (malfunction-free episodes)

index.html currently says: “Your homelab, your SLA — exactly as good as your backups.” Reinterpreted row: there is no real-world “malfunction-free episode” percentage for a self-hosted stack. The honest real-world analog is the self-healing/monitoring practice a self-hoster actually runs to keep uptime high and notice failures fast — status/uptime monitoring, heartbeat/dead-man's-switch checks for scheduled jobs, and auto-restart/auto-remediation tooling for containers. The candidates below are evaluated against that practice, not a literal malfunction-free-episode count.

Project License What it does Privacy stance Status Source
Uptime Kuma MIT Self-hosted status-page and uptime monitor: pings HTTP(S)/TCP/DNS/Docker- container targets on an interval, shows a public or private status page, and fires notifications (email, ntfy, Discord, etc.) on downtime. The direct open-source analog to a commercial “SLA” page — the most widely deployed tool for the “notice it broke” half of self-hosted reliability. Actively maintained — latest release v2.4.0 (May 31, 2026), 89,354+ GitHub stars, repo pushed Jul 21, 2026 louislam/uptime-kuma
Healthchecks.io (self-hosted) BSD-3-Clause Dead-man's-switch / heartbeat monitor for scheduled jobs (cron, systemd timers, backup scripts): each job pings a unique URL on success, and Healthchecks.io alerts you when a ping is late or missing. Covers “did last night's backup job actually run” — directly relevant given the claim's own “exactly as good as your backups” framing. Actively maintained — latest tag v4.3, repo pushed Jul 21, 2026 healthchecks/healthchecks
nicholas-fedor/watchtower (community fork of Watchtower) Apache-2.0 Automatically watches running Docker containers for new image versions and redeploys them, which combined with a container's own restart/healthcheck policy gets close to an auto-remediation pattern. The original containrrr/watchtower was archived by its maintainer Dec 17, 2025 and is unmaintained; this fork is the actively-maintained, drop-in-compatible replacement the self-hosting community migrated to. Actively maintained — latest release v1.19.0 (Jun 30, 2026), repo pushed Jul 21, 2026, 4,071+ stars nicholas-fedor/watchtower

Recommendation: Run Uptime Kuma first — it's the lowest-effort, highest-visibility piece and covers the “is anything down right now” question the claim gestures at. Add Healthchecks.io specifically to watch backup/cron jobs, since silent backup failure is the actual risk the claim calls out and a service-uptime monitor alone won't catch it. Treat nicholas-fedor/watchtower as optional and lower-priority — if adopting it, use the fork, not the archived containrrr/watchtower.

Plays well with: All three assume something is already self-hosted to monitor — they pair with whichever storage/processing stack a reader runs from Storage medium and the AI/model-serving stack from Core architecture. Healthchecks.io in particular is only useful once a reader has scheduled backup jobs to watch, so it depends on a real backup routine existing first.

Agrees, with reinterpretation, with index.html's current claim. There's no real percentage to compare against a fictional malfunction-free-episode figure, but the claim's underlying point (“your homelab, your SLA — exactly as good as your backups”) is accurate: a self-hoster's real uptime is a direct function of the monitoring and backup discipline they build themselves, not a vendor guarantee.

Support channel

index.html currently says: “You are the chief engineer — plus forums, Matrix rooms, and GitHub issues.”

Project License What it does Privacy stance Status Source
r/selfhosted (Reddit) N/A — community forum The largest general-purpose self-hosting community: troubleshooting threads, software recommendations, and “what would you run for X” discussions, with heavy day-to-day traffic. The direct real-world equivalent of “you are the chief engineer” — no vendor support line, but a large peer community to ask instead. Active — ~804,000 members, +243k members in the past year (+43.4%) reddit.com/r/selfhosted
Home Assistant Community Forum N/A — Discourse-based support forum A large, project-specific Discourse forum for Home Assistant users covering integrations, automations, and hardware troubleshooting, with well over 100,000 topics accumulated across categories. Representative of the “official-adjacent forum” pattern many self-hosted projects rely on instead of paid support. Active — confirmed live topic activity on the research date itself community.home-assistant.io
LinuxServer.io Discord N/A — chat-based support community The primary live-chat support channel for LinuxServer.io's widely-used Docker container images (Sonarr, Radarr, Plex-adjacent tooling, etc.), with dedicated per-app support channels. Chosen over LinuxServer.io's own Discourse forum specifically because the forum shows no recent activity while the Discord and the underlying project both do. Active — ~41,463 members, ~7,011 online (Dec-2025 tracker snapshot, corroborated by the LinuxServer.io GitHub org remaining highly active in 2026) discord.com/invite/linuxserver

Recommendation: Start with r/selfhosted for general “what should I run” and troubleshooting questions — it has the widest reach and fastest response for common problems. Use a project-specific forum like Home Assistant's Discourse once you've committed to a specific piece of software and need deep, searchable history on that project's quirks. Reach for a Discord like LinuxServer.io's when you need real-time back-and-forth on a live problem — but verify the specific community you land in is still the active one for that project.

Plays well with: These are general-purpose human support channels that apply regardless of which specific software picks a reader makes across the other seven groups in this report — r/selfhosted and Home Assistant's forum in particular will have existing threads on almost any project named elsewhere in this research (Uptime Kuma, Open WebUI, Immich, etc.), so they're a first stop for troubleshooting any of this project's other recommendations.

Agrees with index.html's current claim. “You are the chief engineer — plus forums, Matrix rooms, and GitHub issues” is an accurate summary of self-hosted support reality: there's no vendor on-call engineer, but large, currently-active peer communities genuinely substitute for one, which is exactly what the claim says.

Observability — metrics & logs

Bonus row, not on the pricing table: Uptime's Uptime Kuma answers “is it up?” — but not “why is inference slow tonight?”, “is the ZFS pool filling up?”, or “what did the firewall actually block?” Also, OPNsense, Suricata, and CrowdSec emit a stream of security logs that, as that row admits, a self-hoster “has to review themselves” — with nothing aggregating or correlating them. This row is the metrics-and-logs layer that closes both gaps.

Project License What it does Privacy stance Status Source
Netdata GPL-3.0-or-later Zero-configuration, per-second metrics for a node the moment it's installed: CPU, memory, disk, network, and auto-detected apps (Docker, ZFS, Nginx) on a live dashboard, with alerting built in. Can run fully self-hosted with its cloud features disabled, so all telemetry stays on the box — the lowest-effort way to get real visibility. Actively maintained — v2.10.4 (Jul 15, 2026), 79.7k+ stars netdata/netdata
Prometheus + Grafana Apache-2.0 (Prometheus) / AGPL-3.0 (Grafana) The standard metrics stack: Prometheus scrapes and stores time-series from every service's exporter, Grafana renders dashboards and fires alerts — real retention, history, and cross-service correlation, not just a live view. Entirely self-hosted; both the metrics database and the dashboards live on your own infrastructure with no external dependency. Actively maintained — Prometheus v3.13.1 (Jul 10, 2026), Grafana v13.1.1 (Jul 21, 2026) prometheus/prometheus
Wazuh GPL-2.0 A self-hosted SIEM/XDR platform that ingests, parses, and correlates logs from hosts and security tools (Suricata, CrowdSec, SSH, the firewall) into searchable alerts — the actual answer to “something needs to read these security logs.” Runs on your own hardware; turns the raw log stream the Hostile-takeover row leaves the operator to eyeball into correlated, rule-scored events. Actively maintained — v4.14.6 (Jul 3, 2026), 16.2k+ stars wazuh/wazuh

Recommendation: Start with Netdata — it's the highest insight-per-minute-of-setup of anything here, and on a single-box homelab it may be all the metrics you need. Graduate to Prometheus + Grafana once you want retention, historical dashboards, and unified alerting across several machines (add Grafana Loki, AGPL-3.0, for logs into the same Grafana). Add Wazuh specifically for the security-log half of the problem: it's the SIEM that turns Suricata/CrowdSec/OPNsense's review-it-yourself log stream into correlated, searchable alerts.

Plays well with: Uptime — Uptime Kuma answers up/down, this answers why and since when. Wazuh in particular is the missing correlation layer over Hostile takeover incidents's logs, and Netdata's ZFS and Docker collectors watch exactly the TrueNAS pool and container runtime that everything else in this report runs on.

Power & UPS

Bonus row, not on the pricing table: this whole report's premise is that your data lives on hardware you own — and a ZFS pool that loses power mid-write, with no clean shutdown, is exactly how you lose the data the “only you hold the keys” theme is built to protect. Nothing anywhere else in the report handles graceful shutdown on power loss. This row is that safeguard.

Project License What it does Privacy stance Status Source
Network UPS Tools (NUT) GPL-2.0-or-later The multi-vendor standard: one machine talks to the UPS over USB/serial/SNMP and shares its status over the network, so every box on the shelf shuts down cleanly when the battery runs low — not just the one the UPS is plugged into. Fully local; the entire power-monitoring loop runs on your own network with no vendor cloud in the path. Actively maintained — v2.8.5 (Apr 3, 2026) networkupstools/nut
apcupsd GPL-2.0 A simpler, single-daemon monitor focused on APC (and some compatible) units — less flexible than NUT for mixed or networked setups, but easy to point at one directly-attached APC UPS. Local-only, like NUT. Caveat: development is effectively frozen — the last stable release (3.14.14) dates to 2016, so treat it as stable-but-unmaintained rather than actively developed. Stable but dormant — last release 3.14.14 (2016) sourceforge.net/projects/apcupsd
NUT, as bundled in TrueNAS / Home Assistant GPL-2.0-or-later (same NUT) Not a separate project: both this report's recommended NAS (TrueNAS) and Home Assistant ship NUT integrations, so on the stacks below this is usually a service to enable and a client to point at it, not a new install. Same all-local posture as standalone NUT; the value is that the box you already run is both the UPS master and the thing most worth protecting. Ships with TrueNAS Community Edition and Home Assistant — tracks their release cadence truenas.com/docs

Recommendation: Use NUT — one UPS signalling every box on the network to shut down cleanly is exactly the coordination a multi-machine homelab needs, and it's the only option here that isn't vendor-locked or dormant. Reach for apcupsd only for a single directly-attached APC unit where its simpler setup outweighs its stalled development. In practice, if you took this report's TrueNAS pick, NUT is already there — enable its UPS service and this row is mostly done.

Plays well with: Compute core hardware and Storage medium — it's what protects the ZFS pool and any in-flight writes on the always-on box, and it turns a yanked-power event (the classic cause of a failed pool import) into a non-event. It's the physical-world complement to Processing redundancy: RAID and backups protect against disk failure, a UPS protects against the power failure that can cause it.

Reference Stacks & Compatibility Matrix

Stack 1: Home Assistant-centric smart home

The hub is Home Assistant Core with the Assist voice pipeline (Primary interface): wake-word detection, faster-whisper speech-to-text, the Assist conversation agent, and Piper text-to-speech, wired together over the local network via the open Wyoming protocol. The actual smart-home devices reach Home Assistant over open local protocols rather than a vendor cloud: Zigbee bulbs and sensors via a coordinator and Zigbee2MQTT (or the built-in ZHA integration), Matter-over-Thread devices via a Thread border router, and DIY ESP32/sensor nodes over MQTT — so the “ambient computer” has a nervous system, not just a voice. Assist's conversation agent calls out to a local model server — Ollama (Core architecture) — over its OpenAI-compatible HTTP API, serving Qwen3.6-27B (Natural language processing) as the default self-hostable, single-consumer-GPU model. That same Ollama instance holds the household's Onboard AI personality (Onboard AI personality) via a Modelfile SYSTEM directive, so the voice assistant, the persona, and the model are one running process, not three. Open WebUI layers on top as the shared browser front end for family members (also Primary interface), inheriting the same backend. For “hands doing things, not just talking,” CrewAI (Autonomous decision-making) orchestrates multi-step home-automation tasks against the same local model, wrapped in NeMo Guardrails (Known sentience risk / guardrails) as the runtime policy layer — since nothing in CrewAI's open core stops it from calling a destructive tool, guardrails are the operator-supplied safety net the row's own honest framing calls for. whisper.cpp + Argos Translate (Universal translator) hangs off the same Wyoming/local-network pattern for translating incoming speech before Assist ever sees it. The household runs TrueNAS Community Edition (Storage medium) on top of a Framework Desktop (Compute core hardware) as the box underneath all of this — HA's config, Open WebUI's chat/RAG storage, and Ollama's model weights all live on the same ZFS-backed volume, on the same physical machine — and Keycloak (Authorization method) sits in front of Open WebUI and any other self-hosted dashboard as a single WebAuthn/FIDO2 SSO login, rather than a separate password per app. Underneath all of it, every service here is a container brought up by Docker Compose (Orchestration & deployment), fronted by Caddy (Reverse proxy & TLS) so each dashboard is reached over real HTTPS rather than plain HTTP, with Pi-hole (DNS & network-level filtering) serving LAN names and blocking tracker domains, and a NUT-managed UPS (Power & UPS) standing by to shut the box down cleanly if the power drops. Netdata (Observability) gives per-second visibility into the host, while Uptime Kuma (Uptime) pings HA's own health endpoint and the Ollama server; when something breaks, the fallback is r/selfhosted and the Home Assistant Community Forum (Support channel).

Stack 2: Mobile / daily-driver privacy

The phone is a Fairphone 6 (Personal access device) running /e/OS (Personal communicator) — the same hardware/software pairing both rows independently converge on, since /e/OS is Murena's stock build for that device. Messaging and calls run over Signal, whose AGPLv3/GPLv3 client and protocol keep both the transport and the crypto auditable end to end — the Signal Protocol's double-ratchet key exchange is the actual “E2E-encrypted” mechanism the pricing table's claim gestures at. Credentials for everything else — Wi-Fi, self-hosted service logins, any passkeys the phone holds for third-party sites — live in Vaultwarden (Authorization method), an unofficial Rust reimplementation of the Bitwarden API that the phone's Bitwarden app talks to over the household's own server instead of Bitwarden's cloud; WebAuthn/FIDO2 hardware keys back up the vault unlock itself. Files sync to Nextcloud Hub's folder-level end-to-end encryption (Storage medium) — chosen over Proton Drive here specifically because Nextcloud's server is one you run, keeping the “only you hold the keys” property intact for the mobile-daily-driver use case rather than trusting Proton's (open-client, closed-server) infrastructure. Reaching any of this — Vaultwarden, Nextcloud, Open WebUI — from outside the house runs over Headscale (Secure device networking): the phone joins the same self-hosted WireGuard mesh as every other device in this project, so “self-hosted” doesn't quietly become “only reachable on the home Wi-Fi.” On that mesh every request first lands on the household's Caddy reverse proxy (Reverse proxy & TLS), so the phone always talks HTTPS to a valid certificate rather than dismissing a self-signed warning, and the phone's DNS points at Pi-hole (DNS & network-level filtering), so ad and tracker domains are sinkholed network-wide — on the home Wi-Fi and, via the tailnet's global nameserver, when the phone is out in the world too. A Framework Laptop (Ship terminal / console hardware) is the pairing/flashing workstation for the phone — ADB, /e/OS updates, and Vaultwarden's desktop client all run from it — and its own repairability (Self-repair capability) mirrors the phone's user-replaceable-battery ethos. When something needs fixing or explaining, the fallback is the same r/selfhosted/Matrix-room community (Support channel) as Stack 1.

Stack 3: Self-hosted AI & local-LLM

The model layer is Qwen3.6-27B (Natural language processing), a 27B-parameter dense multimodal model chosen specifically because it fits on one consumer GPU and its multimodal support covers the vision-agent use case below without a second model. It's served by Ollama (Core architecture) as a GGUF-quantized local endpoint speaking an OpenAI-compatible HTTP API — the same endpoint every other tool in this stack points at, so there is one model server, not several. That same Ollama instance carries the household's persona via a Modelfile SYSTEM directive (Onboard AI personality) — the identical mechanism Stack 1 uses, reused rather than reinvented, since it's the same Ollama install either way. The day-to-day human interface to it is oterm (Primary interface), a terminal client built specifically to talk to Ollama and other OpenAI-compatible local servers with no browser or web server required, matching this stack's no-GUI-overhead ethos better than Open WebUI's browser front end does. All of it — the model weights, oterm's local SQLite chat history, and Letta's memory database (below) — lives on TrueNAS Community Edition (Storage medium) running on the same Framework Desktop (Compute core hardware) as Stack 1, whose OpenZFS layer (Processing redundancy, below) actually protects it — one physical machine, shared by both stacks, not a separate box per use case. Every piece of that service set — Ollama, oterm, the agent stacks below, and Letta's Postgres — is brought up by Docker Compose or, for OpenHands' agent sandbox specifically, rootless Podman (Orchestration & deployment), on a box a NUT-managed UPS (Power & UPS) can shut down cleanly before a power cut corrupts a mid-write ZFS pool, with Netdata or a Prometheus + Grafana stack (Observability) watching GPU load and token throughput so “why is inference slow tonight?” has an answer. CrewAI and OpenHands (Autonomous decision-making) orchestrate agentic work — CrewAI for multi-step planning/delegation, OpenHands specifically for real terminal/file/browser tasks — both LLM-agnostic and both pointed at the local Ollama endpoint rather than a hosted API key. Because neither ships a safety reviewer, NeMo Guardrails wraps the runtime as a policy layer (blocking unsafe tool calls before they execute), while garak and PyRIT (Known sentience risk / adjacent-real-practice row) are run offline beforehand to probe the model/agent combination for jailbreaks and prompt-injection weaknesses the guardrails might miss. For an agent that also needs to see and drive a screen — the Touchscreen GUI row's actual computer-use use case (Touchscreen GUI) — Cua provides the sandboxed virtual-desktop layer, and it's Qwen3.6-27B's own multimodal capability (not a separate model) that gives Cua the vision it needs. Persona continuity across restarts is handled by Letta (Holographic crew): its Postgres/SQLite-backed core-memory blocks are literally what makes “the persona” survive a process restart, exactly matching the pricing table's “persists exactly as long as your backups do” framing — which is also why OpenZFS snapshots plus restic off-site backups (Processing redundancy) matter here specifically: they're what makes that survival real rather than aspirational. Though it sits outside this stack's home-network/local-LLM focus, this same Letta-backed persona can be given a body: see the standalone Holodeck / holo-environments pairing below for readers who want that persona actually populating a shared VR space.

Stack 4: Field hardware, network hardening & reliability

This stack covers the rows the first three don't reach: physical field equipment, home-network defense, and the operational discipline that keeps any of the above running. The field kit is built around M5Stack's modular ESP32 sensor “Units” (thermal, environmental) for the most literal “open hardware boards + thermal cams” match, or HackRF One + PortaPack Mayhem for RF-scanning priority (Handheld sensor device) — both flashed and developed from the same Framework laptop named in Stack 2 (Ship terminal / console hardware). For sky/space work, Stellarium renders real Hipparcos/Gaia star-survey data and ships a NavStars plugin of the 57 traditional celestial-navigation stars, with KStars's INDI-protocol backend added when the goal is actually pointing a telescope rather than just viewing a chart (Stellar cartography). Perimeter defense is OPNsense as the edge firewall/router, running Suricata in-line as IDS/IPS against known attack signatures, with CrowdSec tailing service logs (SSH, reverse proxies) and sharing its 10M+-IP community blocklist (Hostile takeover incidents) — three layers feeding a stream of inspectable log lines rather than a fictional boarding count. A fourth, cheaper layer sits in front of all of it: Pi-hole with Unbound behind it (DNS & network-level filtering) resolves the whole network's queries recursively — no public upstream resolver trusted — and sinkholes command-and-control and telemetry domains at the DNS layer, before a connection the packet-inspecting IDS would only catch mid-flight ever opens. Stack 2's Headscale mesh (Secure device networking) sits behind this same OPNsense edge — OPNsense's firewall rules still gate which sources can even reach the coordination server's port, and CrowdSec can watch Headscale's own application logs for abuse, but the WireGuard tunnel itself is encrypted, so Suricata's signature-based IDS/IPS cannot inspect traffic once it's inside that tunnel. Uptime Kuma watches service availability and Healthchecks.io watches whether scheduled backup jobs actually ran (Uptime) — watching, not owning, Stacks 1 and 3's own Storage medium and Processing redundancy picks (TrueNAS, OpenZFS, restic), since neither protects anyone who silently stopped running them, and Stack 4 doesn't introduce a separate storage or redundancy architecture of its own to replace them. The logs those three security layers emit don't review themselves: Wazuh (Observability) ingests OPNsense, Suricata, and CrowdSec output into one correlated, searchable SIEM — the “something has to actually read these” piece the Hostile-takeover row leaves to the operator — with Netdata or Prometheus + Grafana watching host and service metrics alongside it. A NUT-managed UPS (Power & UPS) signals every box on the network to shut down cleanly on power loss, the physical-world complement to Stacks 1/3's OpenZFS-and-restic discipline, and the whole assembly rides on Proxmox VE (Orchestration & deployment) as the hypervisor beneath the shared box — and the reverse proxy CrowdSec is already tailing is the Caddy/Traefik layer from the security group. When self-repair is needed, Framework's published schematics/EC firmware and iFixit's crowd-documented repair guides (Self-repair capability) cover, respectively, the report's own hardware picks and everything else a household owns. r/selfhosted, project-specific Discourse forums, and Matrix/Discord channels (Support channel) are the shared fallback across every stack in this report, not unique to this one.

Holodeck / holo-environments (Monado + WiVRn + Hubs) doesn't fit cleanly into any of the four stacks above as a home-network, mobile-privacy, or local-LLM component — it's a standalone XR/VR runtime stack in its own right. Rather than force it into one of the four named stacks with a stretched justification, it's presented here as an independent, self-contained pairing: Monado + WiVRn for the runtime, and Hubs for the shared-space content layer — cross-linked from Stack 3's Holographic crew entry (Letta) for readers who want an AI persona actually populating a shared VR space.

Compatibility matrix

Pricing-table row Stack 1: Home Assistant smart home Stack 2: Mobile / daily-driver privacy Stack 3: Self-hosted AI & local-LLM Stack 4: Field hardware, network & reliability
Primary interface Home Assistant Assist + Open WebUI — oterm (terminal access to same model) —
Touchscreen GUI — — Cua (computer-use agent, driven by Qwen3.6-27B's multimodal capability) —
Natural language processing Qwen3.6-27B (served via Ollama) — Qwen3.6-27B —
Ship terminal / console hardware — Framework Laptop (phone pairing/flashing host) — Framework Laptop (field-device flashing host)
Personal access device — Fairphone 6 — —
Handheld sensor device — — — M5Stack Units / HackRF One + PortaPack Mayhem
Personal communicator — /e/OS + Signal — —
Storage medium TrueNAS Community Edition Nextcloud Hub (E2EE folder sync) TrueNAS (model weights, oterm chat history, Letta's memory DB) — (monitors Stack 1/3's TrueNAS; not Stack 4's own pick)
Compute core hardware (bonus row) Framework Desktop (shared with Stack 3) — Framework Desktop (shared with Stack 1) —
Core architecture Ollama — Ollama —
Processing redundancy — — OpenZFS snapshots + restic (backing Letta's memory DB) — (monitors Stack 3's OpenZFS/restic; not Stack 4's own pick)
Onboard AI personality Ollama Modelfile SYSTEM directive — Ollama Modelfile SYSTEM directive (same instance as Core architecture) —
Autonomous decision-making CrewAI — CrewAI / OpenHands —
Known sentience risk NeMo Guardrails — NeMo Guardrails + garak/PyRIT —
Holodeck / holo-environments — — — —
Holographic crew — — Letta —
Authorization method Keycloak (SSO front door) Vaultwarden — —
Hostile takeover incidents (logged) — — — OPNsense + Suricata + CrowdSec
Secure device networking (bonus row) — Headscale (phone reaches home services remotely) — Headscale coordination server, behind OPNsense
Universal translator whisper.cpp + Argos Translate — — —
Stellar cartography — — — Stellarium + KStars
Self-repair capability — Framework Laptop repairability — Framework + iFixit
Uptime (malfunction-free episodes) Uptime Kuma — — Uptime Kuma + Healthchecks.io
Support channel r/selfhosted + HA Community Forum r/selfhosted — r/selfhosted + project Discourse/Discord
Orchestration & deployment (infra bonus row) Docker Compose — Docker Compose / Podman (shared box) Proxmox VE (host for the shared box)
Reverse proxy & TLS (infra bonus row) Caddy (fronts Open WebUI + dashboards) Caddy (household proxy, reached over the mesh) — (oterm is terminal-only, no browser front end) Caddy/Traefik (Stack 1's shared proxy; CrowdSec tails its logs)
DNS & network-level filtering (infra bonus row) Pi-hole (LAN DNS + blocking) Pi-hole (phone DNS, on- and off-LAN via the tailnet) — Pi-hole + Unbound (network-wide)
Observability — metrics & logs (infra bonus row) Netdata + Uptime Kuma — Netdata / Prometheus + Grafana Wazuh SIEM + Netdata / Prometheus + Grafana
Power & UPS (infra bonus row) NUT (TrueNAS UPS service) — NUT (same box, protects ZFS pool) NUT (network-wide clean shutdown)