nuc keeps only what needs its iGPU. blocky, privoxy and transmission-bt moved to nas so the box can be powered off when not watching Jellyfin or using the Spotify kiosk. - /srv/media is now an NFSv4 mount from nas; jellyfin-server reads it with shift=false (idmapped mounts are unsupported on NFS, as the container doc already noted for CIFS) and readonly=true - replication to nas is a systemd timer with Persistent=true, not cron — an on-demand host misses its 03:30 window and cron cannot catch up Two failures documented in full, both diagnosed from the wrong layer first: - booting with the TV connected and powered on kills the i915 probe (drm_WARN_ON in intel_modeset_setup_hw_state), so /dev/dri never appears, snd_hda_intel deferred-probes forever holding the PCI device lock, and incusd blocks in sriov_numvfs_show — no container starts at all, including LAN DNS. Identical on 6.12.107 and 6.12.105. - the kiosk input gid mismatch is real but was NOT the cause of the 2026-08-30 outage (flat K400 batteries were); seatd opens input devices as root, so kiosk group membership is not on that path. Records the one-line raw capture that settles hardware-vs-software immediately. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2.7 KiB
Homelab: nuc
Incus host on the LAN — on-demand: since 2026-08-30 it only needs to
run when watching Jellyfin or using the Spotify Connect kiosk. Everything
always-on (blocky/DNS, privoxy, transmission-bt) moved to
nas, which is why nuc can now be powered off.
⚠️ Powering nuc off has backup consequences — its 03:30 replication to nas only runs while it is up. See nas-install.md §9.
-
Debian 13, Intel Alder Lake-N (iGPU
i915, shared by both Jellyfin containers) — bare-metal reinstall: nuc-install.md -
Instances are bridged onto the LAN (192.168.0.0/24)
-
Storage: ZFS pool
dataon the SSD (all instance disks). The USB 4 TB and its pool left nuc on 2026-08-30 — the enclosure's JMicron bridge was suspending the pool (usb4t-dropouts.md); the disk now sits on direct SATA innasas pooltank. -
Media library:
/srv/mediais now an NFSv4 mount from nas (192.168.0.4:/media, read-only).jellyfin-serverstays here for the iGPU and reads it withshift=false(jellyfin-server.md). -
Backups: nuc and nas cross-replicate — nuc pushes all its instances to
nas:nucbackupat 03:30, nas pushes its own tonuc:nasbackupat 04:00, so neither host's instances depend on that host surviving (nas/nas-install.md §9). The ks4 pull leg moved to nas as well (ks2/nas-seed.md), so nuc no longer runs a WireGuard tunnel. -
⚠️ Never reboot nuc with the display powered on — the i915 probe dies and takes every container with it (including LAN DNS). Symptoms and fix: jellyfin-client.md
Instances
| Name | IP | Doc | Features |
|---|---|---|---|
| jellyfin-server | 192.168.0.5 | ✅ | unprivileged, autostart; iGPU render node (gpu device, render gid) for QSV/VAAPI transcoding; /srv/media disk device (NFS from nas, shift=false, read-only); proxy device → host :8096 |
| jellyfin-client | 192.168.0.6 | ✅ | privileged, autostart; full iGPU (gpu device, gid 44) → HDMI kiosk (cage + Jellyfin Media Player); custom raw.lxc (bind /dev/snd, /dev/input, host /run/udev); Pioneer USB audio as ALSA default; FR keymap; go-librespot Spotify Connect ("Pioneer A-70") |
| homeassistant | (stopped) | — | virtual machine, 50 GiB root disk on pool data |
Moved to nas on 2026-08-30: transmission-bt
(next to the media dataset it writes to), plus blocky and privoxy
so LAN DNS and the proxy survive nuc being shut down.