58dcaa5d4198906d32f3e1b729dbac8e2660dd60
Builds the box that ends the usb4t dropouts: the JMicron bridge was the least reliable device in the setup and it held the intended off-site copy of ks4. The 4 TB now sits on direct SATA as pool `tank`. - OS on mdraid RAID1 across two 120 GB SSDs (Intel 330 + Toshiba Q300), both ESPs bootable; `incus` ZFS mirror on their tails, ~22% left unallocated as over-provisioning - media at /export/media, exported read-only over NFSv4 to nuc - transmission-bt moves here (its WireGuard tunnel is in-container, so ks4 needed no change) and writes to the dataset locally - backup pools nucbackup / ks4backup / nasbackup - monitoring live: msmtp (submission+auth, verified 250), zed with NOTIFY_DATA, zpool-health.sh every 15 min, smartd on all three disks Traps recorded because none of them point at their own cause: booting with the display active kills the i915 probe and wedges incus; d-i picks grub-pc vs grub-efi from how the installer booted; `incus storage create` hangs forever on a mountpoint=none dataset; the BMC is deliberately never cabled, so there is no out-of-band console. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Personal infrastructure notes
Two repositories back this setup:
doc (this one) and
scripts (the cron drivers
and their config files, deployed to /root/scripts on each host).
Start here:
- backup-strategy.md — what is backed up, by which tool, on what schedule, and how to restore.
- new-container.md — conventions for adding a service to ks4 (and getting it backed up automatically).
Tech notes
nuc/— home lab onnuc: host, iGPU instancesnas/— storage + backup hostnas(Supermicro A1SAi-2750F): the 4 TB on direct SATA, media over NFS, backup poolsks4/— prod serverks4at OVH: host, services, network flowsks2/— legacy backup server being decommissionedarcher-c7/— home router (TP-Link Archer C7 v5 running on OpenWrt)
Conventions
- One markdown file per topic in the correct subdir, containing the full implementation notes, configuration, and troubleshooting notes.
- Containers are built from Debian/Ubuntu images and configured
exclusively through
incus exec/incus configso the doc is the single source of truth — rebuilding = re-running the script. - Adding a service to ks4: follow
new-container.md (no Docker in containers —
incus runs OCI images natively and
incus-composehandles stacks; data paths go intoscripts/restic-paths).
Languages
Markdown
100%