jazzymcandClaude Opus 5 ccffbd1252 Mac bridge: ssh to the Mac, omac, clip, screenshot hotkey
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>
2026-11-08 07:39:12 +00:00
2026-01-18 16:40:48 +02:00

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

  1. DNS down? → Automatic failover to 192.168.10.10 (secondary), see 08-DNS-ARCHITECTURE.md
  2. Internet down? → Check HAP1 at 192.168.10.1
  3. Services down? → Check Unraid at 192.168.10.20
  4. Unraid maintenance? → VRRP failover to Nobara (192.168.10.250 VIP), see 10-FAILOVER-NOBARA.md
  5. Full outage? → See 02-SERVICES-CRITICAL.md startup 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.

S
Description
No description provided
Readme
2.1 MiB
0 Stars 1 Watchers 0 Forks
Languages
RouterOS Script 81.6%
Shell 18.4%