Files
ai-context/index.md
T
Myron Blair 4fad312f87 Full rewrite for current infra state — StreamHoard consolidation, VoIP split out, dead references purged
- Replace all Jellyfin/MediaStack/WireGuard-CT110 references (destroyed 2026-07-23) with
  StreamHoard/CT104 throughout; add streamhoard.md covering the full consolidated stack,
  MSP360 backup setup, and migration incidents
- Split FusionPBX/SignalWire/landline content into its own voip.md (was scattered across
  jarvis.md and sites.md, and referenced the old destroyed DO droplet IP)
- Fix stale facts: JARVIS webhook port (:1972 -> 80/https), rotated registration key/GitHub
  PAT, FortiGate admin port (9443 not 443), current WAN-IP-drift/VIP gotchas
- Add reference.md for repo inventory notes, assistant hard limits, ZeroTraceGPT IQ, payments
  migration status
- Update gotchas.md with unprivileged-LXC mount limitations and MSP360 dpkg-repack gotcha
2026-07-25 22:47:31 -05:00

5.0 KiB

AI Context Index — Myron Blair Home Lab / MSP

Load order for a new session: Read this file first, then load the specific topic file for the task at hand. This repo is meant to be handed to any AI assistant (not just Claude) to resume full context on this environment.

Topic Files

File Use When
servers.md Connecting to any machine, SSH patterns, credentials, VM map
jarvis.md Working on JARVIS AI dashboard, API, chat, agents
streamhoard.md Working on the media server / *arr stack / VPN / Portainer / MSP360 backup on CT104
voip.md FusionPBX, SignalWire, landline/FXO, SIP registration, phones
sites.md Working on any website, deploys, DBs, email
gotchas.md Before running any command — critical quirks
reference.md Repo inventory notes, assistant hard limits, ZeroTraceGPT IQ, payments migration status

Who this is for

Myron Blair (myronblair@outlook.com / myronblair@gmail.com). Runs a home lab + small MSP operation: Proxmox cluster, several VMs/LXCs, self-hosted AI (JARVIS + Ollama), VoIP (FusionPBX on-prem), a Docker-based media stack, and public client websites on DigitalOcean. Comfortable with Linux sysadmin, PHP, Python, bash, git, systemd — has deep familiarity with his own infra but won't remember every credential/IP off the top of his head, so don't assume he'll catch an error in a recalled detail.

Working style: wants terse responses — state results, not intentions ("Let me..."), no trailing recaps of what was just done. For any server-side action triggered from an admin UI (JARVIS, etc.), use a live log popup pattern, not a toast/confirm dialog (see gotchas.md). Pushing to a repo's default branch (master/main) needs an explicit branch-named confirmation, not a generic "yes."

30-Second Overview

No local codebase for most work — it happens via SSH to remote servers/VMs and git push to GitHub (several repos have auto-deploy webhooks).

Infrastructure map (current as of 2026-07-24)

  • DO (165.22.1.228) — DigitalOcean VPS, CyberPanel/OpenLiteSpeed. Hosts 7 client/personal websites. NOT JARVIS, NOT FusionPBX (both moved on-prem).
  • PVE1 (orbisne.fortiddns.com / 10.48.200.90) — Proxmox primary hypervisor. Home of JARVIS, StreamHoard, NovaCPX, Ollama, FusionPBX, Home Assistant, Homebridge, and the NAS-mount passthrough for all of the above.
  • PVE2 (10.48.200.91) — Proxmox secondary hypervisor, 1 VM (NetworkBackup).
  • JARVIS VM 211 (10.48.200.211) — the JARVIS AI dashboard/agent-monitoring platform. nginx/PHP8.3/MariaDB/Redis/Arc Reactor.
  • CT104 "StreamHoard" (10.48.200.104) — consolidated media server: custom Netflix-style app + Sonarr/Radarr/Prowlarr/qBittorrent (all VPN'd via gluetun/NordVPN) + Portainer + MSP360 backup, all in Docker Compose. Replaces the old Jellyfin VM112, MediaStack VM103, and WireGuard CT110 — all three were destroyed 2026-07-23.
  • NovaCPX VM120 (10.48.200.110) — custom hosting control panel; also serves the web.orbishosting.com MSP dashboard.
  • FusionPBX VM130 (10.48.200.130) — FreeSWITCH PBX, moved on-prem from an old DO droplet (that droplet, 134.209.72.226, is destroyed — don't use it).
  • Synology NAS (10.48.200.249) — primary media + MSP360 backup storage, own DSM reverse proxy, Gitea.
  • NPM (10.48.200.200) — Nginx Proxy Manager, terminates TLS for jarvis.orbishosting.com and a few others.
  • FortiGate (10.48.200.1) — router/firewall. Admin GUI is on port 9443, not 443 (redirects there). admin / Joker1974!!!.

Key systems

  • JARVIS — Iron Man-style AI dashboard at https://jarvis.orbishosting.com, agent monitoring/chat/network-scan/admin. Auto-deploy: push to GitHub master → webhook → pulls into /var/www/jarvis/ within ~1 min.
  • StreamHoard — self-hosted Netflix-style media app (repo kino-app, branded "StreamHoard" in the UI — internal names still say kino in places, cosmetic only) at http://10.48.200.104:8080.
  • web.orbishosting.com — personal MSP links dashboard (repo web-dashboard), auto-deploys via webhook on VM110.
  • Gitea (gitea.orbishosting.com, on the NAS) mirrors every GitHub repo one-way (GitHub → Gitea). 5 repos exist Gitea-only by design (never pushed to GitHub — they hold real secrets): fortigate-config, infra-private, jarvis-secrets, msp360-config, proxmox-secrets.

Recent major change (2026-07-23/24)

Jellyfin, MediaStack, and the WireGuard exit container were all decommissioned and consolidated into one host, StreamHoard (CT104). See streamhoard.md for the full detail — this was a large migration with several real infra bugs found and fixed along the way (a live duplicate-IP conflict, a NordVPN kill-switch regression, NFS/CIFS mount limitations in unprivileged LXCs, an MSP360 install gap). Don't be surprised if older docs/repos (mediastack, old kino repo) still reference the pre-migration state — they're stale now.