From 18c081f22ec88dca43e76f598a2876c7b59cce2c Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 8 Jul 2026 06:17:31 -0500 Subject: docs: adopt system-health-check workflow and host inventories The workflow and the four host capability inventories move here from the home project. System maintenance is archsetup's domain, and this puts the thresholds TOML and both of its consumers in one repo. The workflow's prose severity rules now cite the installed TOML keys, and the TOML wins on disagreement. Inventory paths point at docs/homelab-inventory/. A note routes routine ratio/velox checks to the maint CLI, leaving this workflow for the non-Arch hosts and forensic deep dives. Only the #+HOSTNAME: capability inventories moved (ratio, velox, mybitch, truenas, plus the truenas hardware-specs asset they link). The personal gear records stay in home, and the home-side removal is handed off through its inbox. --- .../2026-01-05-truenas-hardware-specs.org | 229 ++++++++++++++++++++ docs/homelab-inventory/mybitch-laptop.org | 238 +++++++++++++++++++++ docs/homelab-inventory/ratio-desktop.org | 175 +++++++++++++++ docs/homelab-inventory/truenas-server.org | 114 ++++++++++ docs/homelab-inventory/velox-laptop.org | 158 ++++++++++++++ 5 files changed, 914 insertions(+) create mode 100644 docs/homelab-inventory/2026-01-05-truenas-hardware-specs.org create mode 100644 docs/homelab-inventory/mybitch-laptop.org create mode 100644 docs/homelab-inventory/ratio-desktop.org create mode 100644 docs/homelab-inventory/truenas-server.org create mode 100644 docs/homelab-inventory/velox-laptop.org (limited to 'docs/homelab-inventory') diff --git a/docs/homelab-inventory/2026-01-05-truenas-hardware-specs.org b/docs/homelab-inventory/2026-01-05-truenas-hardware-specs.org new file mode 100644 index 0000000..42d33ad --- /dev/null +++ b/docs/homelab-inventory/2026-01-05-truenas-hardware-specs.org @@ -0,0 +1,229 @@ +#+TITLE: TrueNAS Server Hardware Specifications +#+AUTHOR: Auto-generated via SSH +#+DATE: 2026-01-05 + +* Package Management Note + +**IMPORTANT:** Package management tools (apt) are disabled on TrueNAS appliances. Attempting to install packages with apt or methods other than the TrueNAS web interface can result in a nonfunctional system. + +All software installation and updates must be done through the TrueNAS web interface. + +* System Information + +** Hostname: truenas +** IP Address: 192.168.86.5 (static) +** Network Interface: eno1 +** Kernel: Linux 6.12.33-production+truenas +** Build Date: Wed Dec 17 21:17:21 UTC 2025 +** Architecture: x86_64 GNU/Linux + +* CPU Specifications + +** Model: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz +** Architecture: x86_64 (Coffee Lake S) +** Cores: 8 physical cores +** Threads: 16 (2 threads per core) +** Base Clock: 3.60 GHz +** Max Turbo: 5.00 GHz +** Min Clock: 800 MHz + +** Cache: +- L1d cache: 256 KiB (8 instances) +- L1i cache: 256 KiB (8 instances) +- L2 cache: 2 MiB (8 instances) +- L3 cache: 16 MiB (1 instance) + +** Features: +- Virtualization: VT-x +- CPU family: 6 +- Model: 158 +- Stepping: 13 + +* Memory Specifications + +** Total RAM: 64 GiB (62 GiB usable) +** Swap: 0 B (no swap configured) +** Current Usage: ~3.0 GiB used, 59 GiB free + +* Storage Controllers + +** SATA Controllers: +1. Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10) +2. ASMedia Technology Inc. ASM1166 Serial ATA Controller (rev 02) + +** NVMe Controllers: +1. Sandisk Corp WD PC SN810 / Black SN850 NVMe SSD (rev 01) + +* Block Devices + +** Hard Drives: +- sda: 10.9 TB (ZFS member) +- sdb: 10.9 TB (ZFS member) +- sdc: 10.9 TB (ZFS member) +- sdd: 10.9 TB (ZFS member) +- sdg: 18.2 TB (ZFS member) +- sdh: 18.2 TB (ZFS member) +- sdi: 18.2 TB (ZFS member) +- sdj: 18.2 TB (ZFS member) + +** System Drives: +- sde: 1.9 TB (Boot pool, ZFS member) + - sde1: 1M partition + - sde2: 512M VFAT partition + - sde3: 1.9T ZFS partition +- sdf: 1.9 TB (ZFS member) + +** NVMe: +- nvme0n1: 1.8 TB + +** Total Raw Capacity: +- 4× 10.9 TB = 43.6 TB +- 4× 18.2 TB = 72.8 TB +- 2× 1.9 TB = 3.8 TB +- 1× 1.8 TB NVMe = 1.8 TB +- **Total: ~122 TB raw storage** + +* Network Interfaces + +** eno1 (Primary - Active): +- Type: Ethernet controller - Intel Corporation Ethernet Connection (7) I219-V (rev 10) +- MAC: 70:85:c2:db:9d:94 +- IP: 192.168.86.5/21 +- Subnet broadcast: 192.168.87.255 +- State: UP +- MTU: 1500 +- Alternative name: enp0s31f6 + +** enp2s0 (Secondary - Down): +- Type: Ethernet controller - Intel Corporation I211 Gigabit Network Connection (rev 03) +- MAC: 70:85:c2:db:9d:94 +- State: DOWN (NO-CARRIER) + +** Wireless: +- Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10) +- Status: Not configured + +** Docker Bridge: +- docker0: 172.16.0.1/24 +- State: DOWN (NO-CARRIER) + +* Motherboard/Chipset + +** Chipset: Intel Z390 +- Host Bridge: 8th/9th Gen Core 8-core Desktop Processor (Coffee Lake S) +- ISA Bridge: Z390 Chipset LPC/eSPI Controller (rev 10) +- PCIe Root Ports: Multiple Cannon Lake PCH PCI Express ports + +** Integrated Components: +- Graphics: Intel CoffeeLake-S GT2 [UHD Graphics 630] (rev 02) +- Audio: Intel Cannon Lake PCH cAVS (rev 10) +- USB: Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10) +- Thermal: Cannon Lake PCH Thermal Controller (rev 10) +- HECI: Cannon Lake PCH HECI Controller (rev 10) +- SMBus: Cannon Lake PCH SMBus Controller (rev 10) +- SPI: Cannon Lake PCH SPI Controller (rev 10) + +* ZFS Pool Configuration + +** boot-pool (1.86 TB): +- Allocated: 3.06 GB +- Free: 1.86 TB +- Capacity: 0% +- Health: ONLINE + +** sysdata (1.86 TB): +- Allocated: 314 MB +- Free: 1.86 TB +- Capacity: 0% +- Health: ONLINE +- Purpose: System data and applications + +** tank (72.8 TB): +- Allocated: 1.17 MB +- Free: 72.7 TB +- Capacity: 0% +- Health: ONLINE +- Purpose: Large storage pool (empty, ready for expansion) + +** vault (43.6 TB): +- Allocated: 24.5 TB +- Free: 19.1 TB +- Capacity: 56% +- Health: ONLINE +- Purpose: Main media storage + +* Vault Datasets + +** Media (Movies, Music, TV Shows): +- Size: 30 TB (allocated) +- Used: 17 TB +- Available: 14 TB +- Capacity: 54% + +** Lectures: +- Size: 15 TB (allocated) +- Used: 878 GB +- Available: 14 TB +- Capacity: 6% + +** Audiobooks: +- Size: 14 TB (allocated) +- Used: 89 GB +- Available: 14 TB +- Capacity: 1% + +** Magic: +- Size: 15 TB (allocated) +- Used: 543 GB +- Available: 14 TB +- Capacity: 4% + +** Books: +- Size: 14 TB (allocated) +- Used: 177 GB +- Available: 14 TB +- Capacity: 2% + +* Security Mitigations + +** CPU Vulnerabilities (Status): +- Gather data sampling: Mitigated (Microcode) +- Indirect target selection: Mitigated (Aligned branch/return thunks) +- Itlb multihit: KVM Mitigation (Split huge pages) +- L1tf: Not affected +- Mds: Not affected +- Meltdown: Not affected +- Mmio stale data: Mitigated (Clear CPU buffers; SMT vulnerable) +- Reg file data sampling: Not affected +- Retbleed: Mitigated (Enhanced IBRS) +- Spec rstack overflow: Not affected +- Spec store bypass: Mitigated (Disabled via prctl) +- Spectre v1: Mitigated (usercopy/swapgs barriers) +- Spectre v2: Mitigated (Enhanced/Automatic IBRS) +- Srbds: Mitigated (Microcode) +- Tsx async abort: Mitigated (TSX disabled) + +* Full PCI Device List + +#+BEGIN_EXAMPLE +00:00.0 Host bridge: Intel Corporation 8th/9th Gen Core 8-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] (rev 0d) +00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 0d) +00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] (rev 02) +00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10) +00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10) +00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10) +00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10) +00:17.0 SATA controller: Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10) +00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #6 (rev f0) +00:1c.6 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #7 (rev f0) +00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0) +00:1f.0 ISA bridge: Intel Corporation Z390 Chipset LPC/eSPI Controller (rev 10) +00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) +00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10) +00:1f.5 Serial bus controller: Intel Corporation Cannon Lake PCH SPI Controller (rev 10) +00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10) +01:00.0 SATA controller: ASMedia Technology Inc. ASM1166 Serial ATA Controller (rev 02) +02:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03) +03:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10) +04:00.0 Non-Volatile memory controller: Sandisk Corp WD PC SN810 / Black SN850 NVMe SSD (rev 01) +#+END_EXAMPLE diff --git a/docs/homelab-inventory/mybitch-laptop.org b/docs/homelab-inventory/mybitch-laptop.org new file mode 100644 index 0000000..e522c40 --- /dev/null +++ b/docs/homelab-inventory/mybitch-laptop.org @@ -0,0 +1,238 @@ +#+TITLE: mybitch - Christine's Laptop +#+DATE: 2026-01-31 +#+HOSTNAME: mybitch + +* Automated Capabilities + +# Maintained by the system-health-check workflow. Manual edits may be +# overwritten when the workflow detects drift between this drawer and the +# live system. Machine-readable capability signals used to dispatch which +# checks run on this host. + +:PROPERTIES: +:FS: ext4 +:PM: apt +:ORCH: none +:SNAPSHOT: timeshift +:MESH: tailscale +:BACKUP: source +:VIRT: libvirt +:INIT: systemd +:LAST_AUDIT: 2026-06-23 +:END: + +* Overview + +| Field | Value | +|----------+-----------------------------------| +| Hostname | mybitch | +|----------+-----------------------------------| +| Type | Laptop | +|----------+-----------------------------------| +| Owner | Christine | +|----------+-----------------------------------| +| Maker | Framework | +|----------+-----------------------------------| +| Model | Laptop 16 (AMD Ryzen 7040 Series) | +|----------+-----------------------------------| +| OS | Linux Mint 22.3 (Zena) | +|----------+-----------------------------------| +| Kernel | 6.17.0-23-generic | +|----------+-----------------------------------| +| Status | In use | +|----------+-----------------------------------| + +* Hardware Specifications + +** CPU + +| Field | Value | +|--------------+-----------------------------------| +| Model | AMD Ryzen 9 7940HS w/ Radeon 780M | +|--------------+-----------------------------------| +| Architecture | Zen 4 (TSMC 5nm) | +|--------------+-----------------------------------| +| Cores | 8 | +|--------------+-----------------------------------| +| Threads | 16 | +|--------------+-----------------------------------| +| Base Clock | 4.0 GHz | +|--------------+-----------------------------------| +| Boost Clock | 5.25 GHz | +|--------------+-----------------------------------| +| L2 Cache | 8 MiB (8x1024 KiB) | +|--------------+-----------------------------------| +| L3 Cache | 16 MiB | +|--------------+-----------------------------------| + +** Memory + +| Field | Value | +|-----------+------------------------------| +| Total | 32 GB | +|-----------+------------------------------| +| Type | DDR5-5600 | +|-----------+------------------------------| +| Installed | 1x 32GB (A-DATA AD5S560032G) | +|-----------+------------------------------| +| Slots | 2 (1 free) | +|-----------+------------------------------| +| Max | 64 GB | +|-----------+------------------------------| + +** Graphics + +| Device | Model | Driver | Notes | +|------------+---------------------+--------+-----------------| +| Dedicated | AMD Radeon RX 7700S | amdgpu | RDNA 3, Navi 33 | +|------------+---------------------+--------+-----------------| +| Integrated | AMD Radeon 780M | amdgpu | RDNA 3, Phoenix | +|------------+---------------------+--------+-----------------| + +** Storage + +| Device | Model | Size | Interface | +|--------------+---------------------+----------+--------------| +| /dev/nvme0n1 | WD BLACK SN770M 2TB | 1.82 TiB | PCIe Gen4 x4 | +|--------------+---------------------+----------+--------------| +| /dev/nvme1n1 | WD BLACK SN770 2TB | 1.82 TiB | PCIe Gen4 x4 | +|--------------+---------------------+----------+--------------| +| Total | | 3.64 TiB | | +|--------------+---------------------+----------+--------------| + +*** Partitions + +| Partition | Size | Used | Filesystem | Mount | Label | +|----------------+----------+-------------+------------+-----------+--------| +| /dev/nvme1n1p2 | 1.82 TiB | 17.4% | ext4 | / | | +|----------------+----------+-------------+------------+-----------+--------| +| /dev/nvme1n1p1 | 512 MiB | 1.2% | vfat | /boot/efi | | +|----------------+----------+-------------+------------+-----------+--------| +| /dev/nvme0n1p1 | 1.82 TiB | (unmounted) | ext4 | | Backup | +|----------------+----------+-------------+------------+-----------+--------| + +** Display + +| Field | Value | +|------------+--------------------| +| Panel | BOE Display 0x0bc9 | +|------------+--------------------| +| Resolution | 2560x1600 | +|------------+--------------------| +| Size | 16" (345x215mm) | +|------------+--------------------| +| Ratio | 16:10 | +|------------+--------------------| +| DPI | 188 | +|------------+--------------------| + +** Battery + +| Field | Value | +|----------+------------------| +| Model | NVT FRANDBA | +|----------+------------------| +| Capacity | 85.1 Wh (design) | +|----------+------------------| +| Current | 87.5 Wh (102.9%) | +|----------+------------------| +| Cycles | 13 | +|----------+------------------| +| Type | Li-ion | +|----------+------------------| + +** Network + +| Interface | Type | Chipset | +|-----------+--------+--------------------------| +| wlp5s0 | WiFi | MediaTek MT7922 802.11ax | +|-----------+--------+--------------------------| +| Bluetooth | BT 5.2 | MediaTek Wireless_Device | +|-----------+--------+--------------------------| + +** Expansion Cards (Framework) + +| Slot | Card | +|------+---------------------| +| 1 | HDMI Expansion Card | +|------+---------------------| + +** Input Modules (Framework) + +| Module | Notes | +|----------+-------------------------| +| Keyboard | ANSI layout | +|----------+-------------------------| +| Numpad | Laptop 16 Numpad Module | +|----------+-------------------------| + +* Connected Peripherals + +| Device | Connection | +|---------------------------+-------------------------| +| Logitech MX Master 3 | Unifying Receiver (USB) | +|---------------------------+-------------------------| +| Realtek Laptop Camera | Internal USB | +|---------------------------+-------------------------| +| Goodix Fingerprint Reader | Internal USB | +|---------------------------+-------------------------| + +* Network Access + +| Method | Address | +|--------+---------------| +| mDNS | mybitch.local | +|--------+---------------| +| SSH | Yes (OpenSSH) | +|--------+---------------| + +* Notes + +- Framework Laptop 16 with modular expansion card system +- Discrete AMD GPU (RX 7700S) in addition to integrated Radeon 780M +- Second NVMe slot contains 2TB backup drive (unmounted, labeled "Backup") +- Uptime at inventory: 4 days + +* Operational Changes Log + +Deliberate, non-default config changes applied to mybitch (so they can be found and reverted later). Most recent first. + +** 2026-05-12 — amdgpu.mes=0 added (escalation of the MES-hang freeze mitigation) + +The 2026-05-11 =amdgpu.cwsr_enable=0= mitigation didn't reduce the iGPU "MES failed to respond" errors (14 hits in 14.5h after the fix vs. 38 over 10 days before — rate went *up*), so escalated per the documented path: added =amdgpu.mes=0= to =GRUB_CMDLINE_LINUX_DEFAULT= in =/etc/default/grub= (now =quiet splash amdgpu.cwsr_enable=0 amdgpu.mes=0=). Backup: =/etc/default/grub.bak-2026-05-12-amdgpu-mes=. =update-grub= run; param verified in all 6 =/boot/grub/grub.cfg= entries. Takes effect on next reboot (planned for after the in-progress first rsyncshot backup). =amdgpu.mes=0= disables the GFX11 hardware MES scheduler and falls back to the legacy KIQ path — sidesteps the hanging MES firmware entirely. Tradeoff: KIQ-on-GFX11 is a less-traveled config (small chance of cosmetic display/modeset quirks); irrelevant for Christine's light desktop workload. =cwsr_enable=0= kept (harmless alongside mes=0). *Revert:* restore =/etc/default/grub.bak-2026-05-12-amdgpu-mes= (or sed out = amdgpu.mes=0=), =update-grub=, reboot. After the reboot, check =journalctl -k -b | grep -c 'MES failed'= → should be 0. See the 2026-05-11 entry in =.ai/project-workflows/system-health-check.org='s Known Issues Log for the full background. + +** 2026-05-12 — rsyncshot backups + travel keep-awake mode + +Set up the same =rsyncshot= → TrueNAS backup mybitch's siblings use, and made mybitch never suspend so backups keep running while Christine travels with it. + +*** rsyncshot install (mirrors ratio's setup) +- =/usr/local/bin/rsyncshot= — the script (source of truth: =~/code/rsyncshot/rsyncshot=). +- =/etc/rsyncshot/config= — =REMOTE_HOST="cjennings@truenas.tailf3bb8c.ts.net"=, =REMOTE_PATH="/mnt/vault/backups"=, =SSH_IDENTITY_FILE="/root/.ssh/id_ed25519"=. (See "destination pinned to Tailscale" below for why the full MagicDNS name.) +- =/etc/rsyncshot/include.txt= — =/home /etc /usr/local/bin=. =/etc/rsyncshot/exclude.txt= — copied verbatim from ratio. +- =/etc/logrotate.d/rsyncshot= — copied verbatim from ratio. =/var/log/rsyncshot.log= — the log. +- Root crontab: hourly at :30 (hours 0-1,3-23, keep 23) + daily at 2:30 (keep 30), each wrapped in =flock -x /tmp/rsyncshot.lock=. Identical to ratio's schedule. +- =/root/.ssh/id_ed25519= (+ =.pub=) — new keypair generated on mybitch, no passphrase, comment =root@mybitch-rsyncshot=. mybitch's =cjennings= account had no outbound key (it's a receive-only account), so the backup runs with a dedicated root key instead. The pubkey was appended to =~cjennings/.ssh/authorized_keys= on TrueNAS (the line tagged =root@mybitch-rsyncshot=). +- =/root/.ssh/config= — =Host truenas truenas.tailf3bb8c.ts.net 100.67.22.65= → =User cjennings=, that IdentityFile, =ServerAliveInterval 60 / ServerAliveCountMax 10 / TCPKeepAlive yes=. Host keys for those names added to =/root/.ssh/known_hosts=. +- TrueNAS side: =/mnt/vault/backups/mybitch/= directory created, owned =cjennings:cjennings= (=vault/backups= is a ZFS dataset; per-host backups are just subdirectories, like =ratio/= and =velox/=). +- *Revert:* =sudo crontab -r= (or remove the rsyncshot lines), =sudo rm -rf /usr/local/bin/rsyncshot /etc/rsyncshot /etc/logrotate.d/rsyncshot /var/log/rsyncshot.log /root/.ssh/id_ed25519* /root/.ssh/config=, restore =/root/.ssh/known_hosts= if desired, remove the =root@mybitch-rsyncshot= line from =~cjennings/.ssh/authorized_keys= on TrueNAS, and =rm -rf /mnt/vault/backups/mybitch= on TrueNAS. + +*** destination pinned to Tailscale +=REMOTE_HOST= uses the full Tailscale MagicDNS name =truenas.tailf3bb8c.ts.net= (not the bare =truenas=) so the backup always routes over the tailnet regardless of what a hotel/away-from-home router's DNS resolves =truenas= to. Tailscale uses a direct LAN path between same-LAN peers, so this is near-zero perf cost when mybitch is on the home network. *Revert:* set =REMOTE_HOST="cjennings@truenas"= in =/etc/rsyncshot/config=. + +*** keep-awake (never suspend) — three layers +1. =systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target= — the hard guarantee; suspend can't happen even if requested. *Revert:* =sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target=. +2. Cinnamon power gsettings for user =cciarm= set to ='nothing'=: =sleep-inactive-ac-type=, =sleep-inactive-battery-type=, =lid-close-ac-action=, =lid-close-battery-action= (schema =org.cinnamon.settings-daemon.plugins.power=). Were ='suspend'/'suspend'/'nothing'/'suspend'=. *Revert:* set them back, or run =gsettings reset= on each key as =cciarm=. +3. =/etc/systemd/logind.conf.d/no-suspend-keep-awake.conf= — =HandleLidSwitch=ignore=, =HandleLidSwitchExternalPower=ignore=, =HandleLidSwitchDocked=ignore=, =IdleAction=ignore=. (Written but not applied live — =systemd-logind= wasn't restarted because sessions were active; takes effect on next reboot. Layers 1-2 cover the gap.) *Revert:* =sudo rm /etc/systemd/logind.conf.d/no-suspend-keep-awake.conf= then reboot or =systemctl restart systemd-logind=. + +When mybitch goes back to being a stationary machine (or this whole arrangement is no longer wanted), reverse layers 1-3. The rsyncshot backup itself is worth keeping regardless. + +*** IPv6 set to link-local-only (fixes the tailscale dropout) +mybitch dropped off the Tailscale tailnet on 2026-05-12 AM. Root cause: the home WiFi ("dupre") has device(s) advertising ULA-only IPv6 RAs (prefixes =fdc4:c4c6:3fb0:16cc::/64= and =fd67:8615:6780:1::/64=) with no default route. NetworkManager (=ipv6.method=auto=) SLAAC'd a "global"-scope ULA address onto wlp5s0 with no v6 internet path, so tailscaled kept trying IPv6 to controlplane/DERP, failed "network is unreachable", flapped, and lost its control connection. mybitch has no working global IPv6 anywhere (no ISP v6), so the fix is to ignore underlay v6: +- =/etc/NetworkManager/conf.d/ipv6-link-local-only.conf= → =[connection] ipv6.method=link-local= (connection default — covers home WiFi, travel WiFi, phone hotspot). +- =nmcli con modify dupre ipv6.method link-local= (explicit on the home connection). +- Effect: wlp5s0 keeps only fe80:: (mDNS still works), no SLAAC, no v6 routes; tailscale0's overlay v6 untouched; tailscaled uses the IPv4 underlay. Activates on reboot or =nmcli dev reapply wlp5s0=. +- *Revert if mybitch ever gets real IPv6:* =sudo rm /etc/NetworkManager/conf.d/ipv6-link-local-only.conf=; =sudo nmcli con modify dupre ipv6.method auto=; reboot or =nmcli dev reapply wlp5s0=. + +*** caveats (relayed to Craig for Christine) +- mybitch must stay plugged into AC for backups to keep running — masking suspend doesn't stop a battery dying with the lid closed. +- mybitch must be on WiFi at the destination and stay on the Tailscale tailnet. diff --git a/docs/homelab-inventory/ratio-desktop.org b/docs/homelab-inventory/ratio-desktop.org new file mode 100644 index 0000000..86dcd4d --- /dev/null +++ b/docs/homelab-inventory/ratio-desktop.org @@ -0,0 +1,175 @@ +#+TITLE: ratio - Desktop Workstation +#+DATE: 2026-01-27 +#+HOSTNAME: ratio + +* Automated Capabilities + +# Maintained by the system-health-check workflow. Manual edits may be +# overwritten when the workflow detects drift between this drawer and the +# live system. Machine-readable capability signals used to dispatch which +# checks run on this host. + +:PROPERTIES: +:FS: btrfs +:PM: pacman +:ORCH: topgrade +:SNAPSHOT: snapper +:MESH: tailscale +:BACKUP: source +:VIRT: libvirt,docker,podman +:INIT: systemd +:LAST_AUDIT: 2026-05-25 +:END: + +* Overview + +| Field | Value | +|-------------+------------------------------------------| +| Hostname | ratio | +|-------------+------------------------------------------| +| Type | Desktop workstation | +|-------------+------------------------------------------| +| Maker | Framework | +|-------------+------------------------------------------| +| Model | Desktop (AMD Ryzen AI Max 300 Series) | +|-------------+------------------------------------------| +| Board | FRANMFCP06 v A6 | +|-------------+------------------------------------------| +| Firmware | INSYDE UEFI v03.03 (2025-09-16) | +|-------------+------------------------------------------| +| OS | Arch Linux | +|-------------+------------------------------------------| +| Kernel | 6.12.67-1-lts | +|-------------+------------------------------------------| +| Desktop | Hyprland (Wayland) | +|-------------+------------------------------------------| +| Previous ID | cogito (repurposed and renamed to ratio) | +|-------------+------------------------------------------| + +* CPU + +| Field | Value | +|---------------+---------------------------------------| +| Model | AMD Ryzen AI MAX+ 395 w/ Radeon 8060S | +|---------------+---------------------------------------| +| Architecture | Zen 5 (TSMC 4nm) | +|---------------+---------------------------------------| +| Cores/Threads | 16 cores / 32 threads | +|---------------+---------------------------------------| +| Base/Boost | 3.0 GHz / 5.15 GHz | +|---------------+---------------------------------------| +| Cache L1 | 1.2 MiB (d-16x48 KiB; i-16x32 KiB) | +|---------------+---------------------------------------| +| Cache L2 | 16 MiB (16x1024 KiB) | +|---------------+---------------------------------------| +| Cache L3 | 64 MiB (2x32 MiB) | +|---------------+---------------------------------------| +| NPU | XDNA 2, 50+ peak AI TOPS | +|---------------+---------------------------------------| +| Peak Perf | 59.4 FP16/BF16 TFLOPS @ 2.9GHz | +|---------------+---------------------------------------| + +* GPU + +| Field | Value | +|--------------+-----------------------------------------| +| Model | AMD Radeon 8060S (Strix Halo) | +|--------------+-----------------------------------------| +| Architecture | RDNA 3.5 | +|--------------+-----------------------------------------| +| CUs | 40 Compute Units | +|--------------+-----------------------------------------| +| Driver | amdgpu (kernel) | +|--------------+-----------------------------------------| +| Max VRAM | 96GB (via AMD Variable Graphics Memory) | +|--------------+-----------------------------------------| +| GPU Arch ID | gfx1151 | +|--------------+-----------------------------------------| +| PCIe | Gen 4, 16 GT/s, 16 lanes | +|--------------+-----------------------------------------| + +* Memory + +| Field | Value | +|--------------+--------------------------| +| Total | 128 GiB unified (LPDDR5) | +|--------------+--------------------------| +| Speed | 8000 MT/s | +|--------------+--------------------------| +| Channels | 8 (8x 16 GiB) | +|--------------+--------------------------| +| Manufacturer | Micron Technology | +|--------------+--------------------------| +| Part Number | MT62F4G32D8DV-023 WT | +|--------------+--------------------------| + +* Storage + +| Device | Model | Size | Interface | +|--------------+------------------------+-----------+-----------| +| /dev/nvme0n1 | WD BLACK SN850X 8000GB | 7.28 TiB | NVMe | +|--------------+------------------------+-----------+-----------| +| /dev/nvme1n1 | WD BLACK SN850X 8000GB | 7.28 TiB | NVMe | +|--------------+------------------------+-----------+-----------| +| *Total* | | 14.55 TiB | | +|--------------+------------------------+-----------+-----------| + +Filesystem: btrfs with subvolumes (@, @home, @snapshots, @log, @pkg) + +* Network + +| Interface | Chipset | Speed | Type | +|-----------+-----------------+---------+----------| +| enp191s0 | Realtek RTL8126 | 5 GbE | Wired | +|-----------+-----------------+---------+----------| +| wlp192s0 | MediaTek MT7925 | Wi-Fi 7 | Wireless | +|-----------+-----------------+---------+----------| + +Also has: docker0, tailscale0, virbr0 (virtual interfaces) + +* Audio + +- AMD Radeon High Definition Audio (HDMI, snd_hda_intel) +- AMD Ryzen HD Audio (3.5mm, snd_hda_intel) +- PipeWire v1.4.10 (pipewire-pulse, wireplumber) + +* PCI Slots + +| Slot | Info | Status | +|------+------------+-----------| +| 1 | M.2 JWLAN | Available | +|------+------------+-----------| +| 2 | M.2 JSSD1 | In use | +|------+------------+-----------| +| 3 | M.2 JSSD2 | In use | +|------+------------+-----------| +| 4 | PCIe Gen 4 | Available | +|------+------------+-----------| + +* Connected Peripherals + +- Monitor: Dell U3419W (HDMI-A-1, 3440x1440@60Hz) +- Keyboard: Das Keyboard 4 (Cherry MX Blue) — replacing with Keychron Q6 Pro +- Mouse: Logitech M650 +- DAC/Amp: JDS Labs Element IV (ordered) + +* AI/LLM Capability + +Primary purpose includes local AI/LLM inference via Ollama. + +| Model | Size | Purpose | +|------------------+-------+----------------------| +| deepseek-r1:70b | 42 GB | Main reasoning model | +|------------------+-------+----------------------| +| qwen3:30b | 18 GB | MoE chat (256K ctx) | +|------------------+-------+----------------------| +| deepseek-r1:14b | 9 GB | Light reasoning | +|------------------+-------+----------------------| +| nomic-embed-text | 274MB | RAG embeddings | +|------------------+-------+----------------------| + +Inference benchmarks (AMD testing, LM Studio 0.3.11): +- Small models (1-3B): ~100+ tok/s +- Medium models (7-8B): ~60-80 tok/s +- Large models (20B): ~58 tok/s +- Very large models (120B): ~38 tok/s diff --git a/docs/homelab-inventory/truenas-server.org b/docs/homelab-inventory/truenas-server.org new file mode 100644 index 0000000..5ce8613 --- /dev/null +++ b/docs/homelab-inventory/truenas-server.org @@ -0,0 +1,114 @@ +#+TITLE: truenas - NAS/Storage Server +#+DATE: 2026-01-27 +#+HOSTNAME: truenas + +* Automated Capabilities + +# Maintained by the system-health-check workflow. Manual edits may be +# overwritten when the workflow detects drift between this drawer and the +# live system. Machine-readable capability signals used to dispatch which +# checks run on this host. +# +# NOTE: TrueNAS SCALE is middleware-managed. No user-level package manager +# or topgrade orchestration. Snapshot and update operations go through the +# TrueNAS UI / API, not pacman/apt. + +:PROPERTIES: +:FS: zfs +:PM: none +:ORCH: none +:SNAPSHOT: zfs-native +:MESH: tailscale +:BACKUP: target +:VIRT: docker +:INIT: systemd +:LAST_AUDIT: 2026-04-21 +:END: + +* Overview + +| Field | Value | +|----------+-----------------------------------------| +| Hostname | truenas (truenas.local / 192.168.86.5) | +|----------+-----------------------------------------| +| Type | NAS / storage server | +|----------+-----------------------------------------| +| OS | TrueNAS | +|----------+-----------------------------------------| +| Purpose | Media storage, backups, Plex, Syncthing | +|----------+-----------------------------------------| + +See [[file:2026-01-05-truenas-hardware-specs.org][TrueNAS Hardware Specs]] for full sysinfo output. + +* CPU + +| Field | Value | +|---------------+----------------------| +| Model | Intel Core i9-9900K | +|---------------+----------------------| +| Architecture | Coffee Lake | +|---------------+----------------------| +| Cores/Threads | 8 cores / 16 threads | +|---------------+----------------------| +| Base/Boost | 3.60 GHz / 5.00 GHz | +|---------------+----------------------| + +* Memory + +| Field | Value | +|-------+-------------| +| Total | 64 GiB DDR4 | +|-------+-------------| + +* Storage + +| Pool | Config | Raw Size | Purpose | +|-----------+-----------------+------------+---------------| +| boot-pool | Mirror | ~1.9 TB x2 | System | +|-----------+-----------------+------------+---------------| +| sysdata | NVMe | ~1.8 TB | System data | +|-----------+-----------------+------------+---------------| +| vault | RAIDZ1 (4 disk) | ~43.6 TB | Primary media | +|-----------+-----------------+------------+---------------| +| tank | RAIDZ1 (4 disk) | ~72.8 TB | Expansion | +|-----------+-----------------+------------+---------------| + +Total raw: ~122 TB + +*** Vault Datasets +| Dataset | Size | +|------------+-------| +| Media | 30 TB | +|------------+-------| +| Lectures | 15 TB | +|------------+-------| +| Audiobooks | 14 TB | +|------------+-------| +| Magic | 15 TB | +|------------+-------| +| Books | 14 TB | +|------------+-------| + +* Network + +| Interface | Chipset | Speed | Status | +|-----------+--------------+--------+--------------| +| eno1 | Intel I219-V | 1 GbE | Current | +|-----------+--------------+--------+--------------| +| enp2s0 | Intel I211 | 1 GbE | Available | +|-----------+--------------+--------+--------------| +| (pending) | Intel I226-V | 2.5GbE | Ordered, NIC | +|-----------+--------------+--------+--------------| + +* Motherboard + +| Field | Value | +|---------+------------| +| Chipset | Intel Z390 | +|---------+------------| + +* Services + +- Plex Media Server +- Syncthing +- Tailscale diff --git a/docs/homelab-inventory/velox-laptop.org b/docs/homelab-inventory/velox-laptop.org new file mode 100644 index 0000000..6e4f540 --- /dev/null +++ b/docs/homelab-inventory/velox-laptop.org @@ -0,0 +1,158 @@ +#+TITLE: velox - Laptop +#+DATE: 2026-01-27 +#+HOSTNAME: velox + +* Automated Capabilities + +# Maintained by the system-health-check workflow. Manual edits may be +# overwritten when the workflow detects drift between this drawer and the +# live system. Machine-readable capability signals used to dispatch which +# checks run on this host. +# +# NOTE: 2026-04 velox was reinstalled Arch-on-ZFS. Values below reflect +# that reinstall but remain TBD where a live probe has not yet confirmed. + +:PROPERTIES: +:FS: zfs +:PM: pacman +:ORCH: topgrade +:SNAPSHOT: sanoid +:MESH: tailscale +:BACKUP: source +:VIRT: libvirt,docker,podman +:INIT: systemd +:LAST_AUDIT: 2026-05-26 +:END: + +* Overview + +| Field | Value | +|----------+---------------------------------| +| Hostname | velox | +|----------+---------------------------------| +| Type | Laptop | +|----------+---------------------------------| +| Maker | Framework | +|----------+---------------------------------| +| Model | Laptop (13th Gen Intel Core) | +|----------+---------------------------------| +| Board | FRANMCCP07 v A7 | +|----------+---------------------------------| +| Firmware | INSYDE UEFI v03.07 (2024-12-26) | +|----------+---------------------------------| +| OS | Arch Linux | +|----------+---------------------------------| +| Kernel | 6.18.6-arch1-1 | +|----------+---------------------------------| +| Desktop | startx (X11) | +|----------+---------------------------------| + +* CPU + +| Field | Value | +|---------------+-----------------------------------------| +| Model | 13th Gen Intel Core i7-1370P | +|---------------+-----------------------------------------| +| Architecture | Raptor Lake (Intel 7 / 10nm) | +|---------------+-----------------------------------------| +| Cores/Threads | 14 cores / 20 threads (6P + 8E, hybrid) | +|---------------+-----------------------------------------| +| Base/Boost | 990 MHz / 5.2 GHz | +|---------------+-----------------------------------------| +| Cache L1 | 1.2 MiB (d-8x32K,6x48K; i-6x32K,8x64K) | +|---------------+-----------------------------------------| +| Cache L2 | 11.5 MiB (6x1.2M, 2x2M) | +|---------------+-----------------------------------------| +| Cache L3 | 24 MiB (1x24M) | +|---------------+-----------------------------------------| +| Socket | BGA1744 (U3E1) | +|---------------+-----------------------------------------| + +* GPU + +| Field | Value | +|--------------+------------------------| +| Model | Intel Iris Xe Graphics | +|--------------+------------------------| +| Architecture | Xe (Intel 7) | +|--------------+------------------------| +| Driver | i915 / modesetting | +|--------------+------------------------| + +* Memory + +| Field | Value | +|----------+------------------------------------| +| Total | 64 GiB (DDR4) | +|----------+------------------------------------| +| Speed | 3200 MT/s | +|----------+------------------------------------| +| Slots | 2 (both populated) | +|----------+------------------------------------| +| Device 1 | 32 GiB Crucial CT32G4SFD832A.C16FB | +|----------+------------------------------------| +| Device 2 | 32 GiB Crucial CT32G4SFD832A.C16FE | +|----------+------------------------------------| + +* Storage + +| Device | Model | Size | Interface | +|--------------+----------------------+----------+-----------| +| /dev/nvme0n1 | Sabrent SB-RKT4P-8TB | 7.28 TiB | NVMe | +|--------------+----------------------+----------+-----------| + +- Filesystem: ZFS on root (zroot pool on nvme0n1p2; reinstalled 2026-04) +- Datasets: zroot/ROOT/default, zroot/home, zroot/var/log, zroot/var/lib/pacman, zroot/var/lib/docker (per-layer), zroot/vms, zroot/media +- Snapshots: sanoid hourly + zfs-scrub-weekly@zroot +- SMART: PASSED (re-verified 2026-04-26); composite 43 °C; 0 media errors +- Power-on history pre-dates reinstall — refresh on next full re-inventory + +* Display + +| Field | Value | +|------------+---------------------------------| +| Panel | BOE Display 0x0bca (built 2022) | +|------------+---------------------------------| +| Resolution | 2256x1504 | +|------------+---------------------------------| +| Size | 13.5" (285x190mm) | +|------------+---------------------------------| +| DPI | 201 | +|------------+---------------------------------| +| Ratio | 3:2 | +|------------+---------------------------------| + +* Network + +| Interface | Chipset | Speed | Type | +|-------------+--------------------------------+---------+----------| +| wlp170s0 | Qualcomm Atheros AR9462 | Wi-Fi | Wireless | +|-------------+--------------------------------+---------+----------| +| enp0s13f0u3 | Realtek USB 10/100/1G/2.5G LAN | 2.5 GbE | USB | +|-------------+--------------------------------+---------+----------| + +Also has: docker0, tailscale0, virbr0 (virtual interfaces) + +* Audio + +- Intel Raptor Lake-P/U/H cAVS (snd_hda_intel) +- PipeWire v1.4.10 (pipewire-pulse, wireplumber) + +* Battery + +| Field | Value | +|-----------+-----------------------| +| Capacity | 55 Wh (design) | +|-----------+-----------------------| +| Condition | 44/55 Wh (80% health) | +|-----------+-----------------------| +| Cycles | 146 | +|-----------+-----------------------| +| Type | Li-ion | +|-----------+-----------------------| + +* Other Hardware + +- Webcam: Realtek Laptop Camera (UVC) +- Fingerprint: Shenzhen Goodix USB Device +- Bluetooth: Foxconn (BT 4.0) -- cgit v1.2.3