ccffbd1252efa17200153f17e538744b4e7d178c
ssh mac works from this box. The key had been offered and refused for a day because it had never reached the Mac — an earlier paste ran only part of its command. Fixed by pulling the key over the Mac -> Unraid link that already worked, so it never passed through the clipboard. Two new commands in shell/bin, installed to /root/.local/bin at boot: - omac translates an Unraid path to its Mac counterpart through the shared Syncthing folders, then opens it, prints it, emits a file:// URL or an OSC 8 hyperlink, or verifies it has synced. It refuses rather than guesses outside a shared folder. Literal paths are tried before symlink-resolved ones, after readlink -m was found to resolve skills/memory out of the shared tree. - clip puts text into the Mac's pasteboard over OSC 52, walking up the process tree to find a pty and wrapping for tmux passthrough. Also records the Hammerspoon screenshot hotkey on the Mac side, how hc ls from the Mac addresses terminals on both machines, and that screencapture cannot work over ssh because macOS withholds Screen Recording from a non-GUI session. Verified end to end: a PNG made here, copied to the Mac, pushed back with hc put unraid/t13, named by shot and read in-session byte-intact. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
XTRM Home Lab Infrastructure
Domain: xtrm-lab.org Repository: https://git.xtrm-lab.org/jazzymc/infrastructure
Quick Reference
| Resource | Address |
|---|---|
| Dashboard | https://xtrm-lab.org |
| NetBox | https://netbox.xtrm-lab.org |
| Git | https://git.xtrm-lab.org |
| CI/CD | https://ci.xtrm-lab.org |
| DNS Primary | dns.xtrm-lab.org |
| DNS Secondary | dns2.xtrm-lab.org |
| Failover VIP | 192.168.10.250 |
Documentation Structure
docs/
├── 01-NETWORK-MAP.md # Network topology, IPs, Docker networks
├── 02-SERVICES-CRITICAL.md # DNS, Auth, Routing - must stay up
├── 03-SERVICES-OTHER.md # All other services
├── 04-HARDWARE-INVENTORY.md # Physical devices, specs, serials
├── 05-PORT-UTILIZATION.md # Device port assignments
├── 06-VLAN-DEVICE-ASSIGNMENT.md # VLAN device mapping
├── 07-WIFI-CAPSMAN-CONFIG.md # WiFi and CAPsMAN settings
├── 08-DNS-ARCHITECTURE.md # DNS failover architecture
├── 09-TAILSCALE-VPN.md # Tailscale VPN setup
├── 10-FAILOVER-NOBARA.md # VRRP failover to Nobara workstation
├── CHANGELOG.md # Change history
├── archive/ # Completed/legacy docs
│ └── vlan-migration/ # VLAN migration project artifacts
├── incidents/ # Incident reports
└── wip/ # Work in progress
Key Devices
| Device | IP | Role |
|---|---|---|
| HAP1 | 192.168.10.1 | Router, DNS, WiFi Controller |
| XTRM-U | 192.168.10.20 | Production Server (Unraid) |
| XTRM-Nobara | 192.168.10.103 | Failover Node (Nobara Linux) |
| CSS1 | 192.168.10.3 | Distribution Switch |
| ZX1 | 192.168.10.4 | Core Switch (2.5G) |
| CAP | 192.168.10.6 | Wireless Access Point |
SSH Access
# Unraid
ssh -i ~/.ssh/id_ed25519_unraid root@192.168.10.20 -p 422
# MikroTik Router
ssh -i ~/.ssh/mikrotik_key -p 2222 xtrm@192.168.10.1
# Nobara (failover node)
ssh nobara
Emergency Recovery
- DNS down? → Automatic failover to 192.168.10.10 (secondary), see
08-DNS-ARCHITECTURE.md - Internet down? → Check HAP1 at 192.168.10.1
- Services down? → Check Unraid at 192.168.10.20
- Unraid maintenance? → VRRP failover to Nobara (192.168.10.250 VIP), see
10-FAILOVER-NOBARA.md - Full outage? → See
02-SERVICES-CRITICAL.mdstartup order
Change Management
- Major changes: Document in
CHANGELOG.md - Minor changes: Git commit messages only
- Planned work: Create doc in
wip/folder
CI/CD
Woodpecker CI at https://ci.xtrm-lab.org
Pipelines trigger on push to this repository.
Languages
RouterOS Script
81.6%
Shell
18.4%