You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The NAS that ADR-0008 named as the second of "two purchases where the plan
originally assumed zero", and that ADR-0016 placed and addressed. #95 closed on
2026-09-04 when ADR-0016 answered its four questions, and the purchase and the
build lost their tracker that day — the same shape #102 had, which is how one
ProDesk came to be bought for two jobs (ADR-0034). This is the tracker.
Note
Body rewritten 2026-09-17. As filed it described a host called zion
running Ubuntu Server, with three firewall rules deliberately not created.
Each of those three is now wrong, and each for a written reason: ADR-0038
named the host smaug, ADR-0040
replaced ADR-0016's operating-system clause with TrueNAS, and the rules were
created and verified in position on 2026-09-16 — as four, not three. The
comment history below is left exactly as filed.
Body rewritten again 2026-09-19. The 2026-09-17 body said the drives were
in transit and §1–§7 were all outstanding. The drives landed 2026-09-18, §1–§6
were done that evening and the next morning (#522), ADR-0040's transcode test
passed (#524), and a television played on the evening of 2026-09-19 (#541).
One reading is left. The comment history is again left exactly as filed.
What is decided
Host smaug at 10.0.40.30 on CasaBonita (40), a static below the DHCP
range (ADR-0016), with a Kea reservation on morpheus beside it because
either alone is a single point of drift. The name is ADR-0038's: zion is
reserved for the dedicated firewall cold spare that does not exist, and no
host answers to it.
Scraped, never pushing. Metrics over 99 → 40:9100, and no logs at all —
Loki has no pull and its ingest is unauthenticated, so the reversal that keeps
CasaBonita terminal outward costs this host its logs. smaug has no logs, and that is a decision — record it as a residual #255 recorded that as a
residual and is closed.
Hardware: a Lenovo ThinkServer TS150 — Xeon E3-1225 v6, 8 GB ECC, four
3.5" bays, HD P630 whose Quick Sync is what Media tier: Jellyfin — placement answers the terminal-VLAN problem #138 needed. Not the "quiet
N100-class" chassis ADR-0008 pictured; docs/hardware.md describes it off the
machine rather than off the listing, down to the machine type-model, the
serial and the one DIMM in four slots.
TrueNAS 25.10, not Ubuntu Server (ADR-0040, superseding ADR-0016's
operating-system clause). stacks/media/ stays in this repository as a
compose file TrueNAS launches rather than becoming catalogue apps, so
Dependabot, the digest pin check and make validate keep reaching it. What
leaves CI's reach permanently is the pool and share layout, which build-the-nas.md carries instead.
BIOS flashed S06KT03R (2017) → S06KT81L (2024), boot block 1.03 → 1.81,
done while the machine was empty. AHCI and CSM-disabled were already correct.
AMT was on Intel's factory-default credential — MEBx accepted admin, so
no password had ever been set. Unprovisioned and disabled the same day, and
recorded in SECURITY.md. Disabled rather than hardened, which is
deliberately the opposite of what ADR-0033 does for shiva.
The boot disk is fitted — the optical drive came out of the 5.25" bay and
the Intel DC S3520 240 GB went in on SATA5, on the bracket bought for it.
SMART read back before the install: PASSED, 13,182 power-on hours, wearout
088, and four reallocated sectors.
Addressed and reachable. Static set, reservation added, and four
inbound passes created and verified from morpheus rather than from the UI.
Every pass sits above Block access to CasaBonita. Winterfell is still
refused on 443, and the TerminalSegmentReachedInternalNetwork cannot fire — the firewall logs blocks only #223 tripwire on igc0.40 reads zero packets.
On interface
Source → destination
Port
Hicks (50)
vlan50 net → 10.0.40.30
443
Hicks (50)
vlan50 net → 10.0.40.30
8096
Winterfell (99)
10.0.99.20 → 10.0.40.30
9100
Winterfell (99)
10.0.99.20 → 10.0.40.30
22
Hicks reaches 443 and not the 22 ADR-0016's table names — TrueNAS is
administered over HTTPS, and ADR-0040 carries the correction. Port 22 survives
on the Winterfell rule and is inert, because TrueNAS ships SSH disabled.
SATA2/SATA3, bay fan untouched. The power lead has four wires and no orange one, so the pin-3 Power Disable trap does not fire on this supply
§2 SMART
ZVTBS4NL and ZVTBSDL3, firmware SN03, both PASSED, 0 reallocated, 0 pending, 0 power-on hours by SMART and by smartctl -l farm — the counter a SMART reset does not touch. Extended tests started 2026-09-18
§3 pool
erebor, a mirror of the two. Encryption off by decision.ONLINE, 0/0/0, no known data errors. 18 TB usable, not 36
§4 datasets
erebor/media (SMB preset, 1M records, not backed up) and erebor/apps (Apps preset). Jellyfin's /config is a named volume on erebor/ix-apps, not erebor/apps — #484's finding
§5 share
media, user bilbo — SMB only, no UI, shell, SSH or sudo. One ACL entry added for Jellyfin's read as uid 65534. No workstation can mount it: SMB is 445 and no rule carries it — #523
§6 stack
Running under TrueNAS's Docker from /mnt/erebor/apps/stack, from a copy of the two files in stacks/media/. make up STACK=media does not run on that host; a change is deployed there by hand
§6.1 scrape
9100 open, 443/8096 refused from the monitoring host, 36 node_filesystem_avail_bytes series including erebor and both datasets. up{job="node",instance="smaug"} reads 1
ADR-0040's reopen condition
Closed.renderD128 listed inside media-jellyfin as root 107, id carries 107, and a forced transcode ran VAAPI decode on iHD, scale_vaapi, h264_qsv encode at about five times real time. Decision 2 stands
§7 television
A television on CasaBonita played something on the evening of 2026-09-19, with no firewall rule involved. An earlier same-day claim was withdrawn within the hour; this is the reading
§7 re-reads
Tripwire at 143,780 evaluations, 0 packets, all four passes still above the block; port 15 on neo reads PVID 40, untagged, in the switch UI
What is left
One reading. Both Exos extended self-tests, started 2026-09-18 and at 10 % remaining on the evening of 2026-09-19, completing without error. Read
at the console — SSH is off by design and the monitoring host reaches 9100
and nothing else, so nothing in the estate can read it remotely:
Completed without error on both, and PASSED, goes into hardware.md's
Exos entry and the §7 line, and closes this issue. A Completed: read failure
with an LBA on either drive is a return, not a pool member, and reopens §2.
What waits on it
Still waiting: #446's ISO store and the fifth inbound rule, and #139's
Plex test, which is now runnable rather than blocked.
No longer waiting — closed: #138 Jellyfin (on #522 and #524), #255 the
no-logs residual, #256 the scrape path.
Spawned by the build and not blocked by it: #484erebor/apps is declared
backed up and backed up by nothing; #485 ADR-0027's PBS sync job was
designed for a host smaug is not; #523 the share is unreachable from
Hicks; #528 the stack has no secrets file. #140 and #141 land in stacks/media/ in the shape it already has.
Purchases this needs
None. The box, the mirror, the boot disk and its bracket are all bought, all
landed, and all in the machine. This has not been blocked on money since
2026-09-11 and not on parts since 2026-09-18.
The NAS that ADR-0008 named as the second of "two purchases where the plan
originally assumed zero", and that ADR-0016 placed and addressed. #95 closed on
2026-09-04 when ADR-0016 answered its four questions, and the purchase and the
build lost their tracker that day — the same shape #102 had, which is how one
ProDesk came to be bought for two jobs (ADR-0034). This is the tracker.
Note
Body rewritten 2026-09-17. As filed it described a host called
zionrunning Ubuntu Server, with three firewall rules deliberately not created.
Each of those three is now wrong, and each for a written reason:
ADR-0038
named the host
smaug,ADR-0040
replaced ADR-0016's operating-system clause with TrueNAS, and the rules were
created and verified in position on 2026-09-16 — as four, not three. The
comment history below is left exactly as filed.
Body rewritten again 2026-09-19. The 2026-09-17 body said the drives were
in transit and §1–§7 were all outstanding. The drives landed 2026-09-18, §1–§6
were done that evening and the next morning (#522), ADR-0040's transcode test
passed (#524), and a television played on the evening of 2026-09-19 (#541).
One reading is left. The comment history is again left exactly as filed.
What is decided
smaugat10.0.40.30on CasaBonita (40), a static below the DHCPrange (ADR-0016), with a Kea reservation on
morpheusbeside it becauseeither alone is a single point of drift. The name is ADR-0038's:
zionisreserved for the dedicated firewall cold spare that does not exist, and no
host answers to it.
99 → 40:9100, and no logs at all —Loki has no pull and its ingest is unauthenticated, so the reversal that keeps
CasaBonita terminal outward costs this host its logs. smaug has no logs, and that is a decision — record it as a residual #255 recorded that as a
residual and is closed.
3.5" bays, HD P630 whose Quick Sync is what Media tier: Jellyfin — placement answers the terminal-VLAN problem #138 needed. Not the "quiet
N100-class" chassis ADR-0008 pictured;
docs/hardware.mddescribes it off themachine rather than off the listing, down to the machine type-model, the
serial and the one DIMM in four slots.
operating-system clause).
stacks/media/stays in this repository as acompose file TrueNAS launches rather than becoming catalogue apps, so
Dependabot, the digest pin check and
make validatekeep reaching it. Whatleaves CI's reach permanently is the pool and share layout, which
build-the-nas.mdcarries instead.sync job here, and ADR-0015's volume sets want an off-host home beyond
oracle's shelf. Both shapes want re-reading under TrueNAS — ADR-0027's PBS trigger has fired, and its sync job was designed for a host smaug is not #485 and erebor/apps is declared backed up in two files and backed up by nothing #484carry that.
What has landed
build-the-nas.md§0 was complete on 2026-09-16 and §1–§6 on 2026-09-19,and everything in it was read or verified rather than assumed.
§0 (PRs #476–#479, comment of 2026-09-17 below):
S06KT03R(2017) →S06KT81L(2024), boot block 1.03 → 1.81,done while the machine was empty. AHCI and CSM-disabled were already correct.
admin, sono password had ever been set. Unprovisioned and disabled the same day, and
recorded in
SECURITY.md. Disabled rather than hardened, which isdeliberately the opposite of what ADR-0033 does for
shiva.the Intel DC S3520 240 GB went in on SATA5, on the bracket bought for it.
SMART read back before the install:
PASSED, 13,182 power-on hours, wearout088, and four reallocated sectors.
inbound passes created and verified from
morpheusrather than from the UI.Every pass sits above Block access to CasaBonita. Winterfell is still
refused on 443, and the TerminalSegmentReachedInternalNetwork cannot fire — the firewall logs blocks only #223 tripwire on
igc0.40reads zero packets.vlan50 net→10.0.40.30443vlan50 net→10.0.40.30809610.0.99.20→10.0.40.30910010.0.99.20→10.0.40.3022Hicks reaches
443and not the22ADR-0016's table names — TrueNAS isadministered over HTTPS, and ADR-0040 carries the correction. Port 22 survives
on the Winterfell rule and is inert, because TrueNAS ships SSH disabled.
§1–§6 (#522, #524, comments of 2026-09-19 below):
SATA2/SATA3, bay fan untouched. The power lead has four wires and no orange one, so the pin-3 Power Disable trap does not fire on this supplyZVTBS4NLandZVTBSDL3, firmwareSN03, bothPASSED, 0 reallocated, 0 pending, 0 power-on hours by SMART and bysmartctl -l farm— the counter a SMART reset does not touch. Extended tests started 2026-09-18erebor, a mirror of the two. Encryption off by decision.ONLINE, 0/0/0, no known data errors. 18 TB usable, not 36erebor/media(SMB preset, 1M records, not backed up) anderebor/apps(Apps preset). Jellyfin's/configis a named volume onerebor/ix-apps, noterebor/apps— #484's findingmedia, userbilbo— SMB only, no UI, shell, SSH or sudo. One ACL entry added for Jellyfin's read as uid 65534. No workstation can mount it: SMB is445and no rule carries it — #523/mnt/erebor/apps/stack, from a copy of the two files instacks/media/.make up STACK=mediadoes not run on that host; a change is deployed there by hand9100open,443/8096refused from the monitoring host, 36node_filesystem_avail_bytesseries includingereborand both datasets.up{job="node",instance="smaug"}reads 1renderD128listed insidemedia-jellyfinasroot 107,idcarries 107, and a forced transcode ran VAAPI decode oniHD,scale_vaapi,h264_qsvencode at about five times real time. Decision 2 standsneoreads PVID 40, untagged, in the switch UIWhat is left
One reading. Both Exos extended self-tests, started 2026-09-18 and at
10 % remaining on the evening of 2026-09-19, completing without error. Read
at the console — SSH is off by design and the monitoring host reaches
9100and nothing else, so nothing in the estate can read it remotely:
Completed without erroron both, andPASSED, goes intohardware.md'sExos entry and the §7 line, and closes this issue. A
Completed: read failurewith an LBA on either drive is a return, not a pool member, and reopens §2.
What waits on it
Still waiting: #446's ISO store and the fifth inbound rule, and #139's
Plex test, which is now runnable rather than blocked.
No longer waiting — closed: #138 Jellyfin (on #522 and #524), #255 the
no-logs residual, #256 the scrape path.
Spawned by the build and not blocked by it: #484
erebor/appsis declaredbacked up and backed up by nothing; #485 ADR-0027's PBS sync job was
designed for a host
smaugis not; #523 the share is unreachable fromHicks; #528 the stack has no secrets file. #140 and #141 land in
stacks/media/in the shape it already has.Purchases this needs
None. The box, the mirror, the boot disk and its bracket are all bought, all
landed, and all in the machine. This has not been blocked on money since
2026-09-11 and not on parts since 2026-09-18.