storage layer · no chat system

fast-models

One Btrfs pool for large AI files. bees stores identical data blocks one time. NFS gives the same folders to each computer on the local network.

View on GitHub Unraid persist runbook v0.2.4 v0.2.4 · MIT · public

what it actually is

Two NVMe drives. One share. Background dedupe.

Copying model trees onto a desk Mac, a GPU box, and a NAS does not scale. This stack owns the drives, walks them with bees, and exports them over NFS.

filesystem

Btrfs RAID0

Fast stripe across two unassigned NVMe devices. No parity — one dead drive loses the pool.

btrfs.readthedocs.io →
dedupe

bees

Best-Effort Extent-Same. Near-duplicate GGUFs and HF blobs stop eating a second full copy.

hash table sizing →
share

Host NFS

Linux clients: NFSv4.2, mount /. macOS: use SMB3. NFS mounts on macOS hung many times in this lab. Container does not run nfsd.

persist runbook →
upstream

Zygo/bees

The deduper this image pins (v0.11, plus a small musl gettid fix for Alpine).

github.com/Zygo/bees →
sibling

ai-gateway

The chat / agent side. This repo does not route tokens. It holds the weights.

github.com/the1truedan/ai-gateway →
disclosure

FAT32 go hook

The 2026-08-15 reboot failure: console Permission denied, NFS down, proxy blamed. Lab id CVE-FAUX-2026-0815-2.

what actually broke →

the pitch, short version

Four things it actually does

▣

Owns the drives

Privileged container, host kernel, two unassigned NVMes. Not a VM passthrough. Not an Unraid cache pool.

⬡

Shares identical extents

bees walks in the background. 2G is the default hash table. Reality check: this 2.6 TiB pool of model files needs 6G (75% full); plan for 8G as it grows.

⇄

Exports once

Host nfsd on 2049. Array NFS stays off. Linux v4.2 and macOS v3 both work.

!

Survives reboot — if you use bash

Unraid /boot is FAT32. The persist script must be invoked with bash, or NFS dies after every restart.

Until it has its own host

This Unraid + host-nfsd layout is a stopgap. A dedicated box (or a small VM with the NVMe card passed through) would own Btrfs, bees, and nfsd without a FAT32 flash hook. Until that move: keep array NFS off, keep the container’s ENABLE_NFS=0, and keep the bash line in /boot/config/go.