- 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
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.comMSP 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.comand 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 GitHubmaster→ 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 saykinoin places, cosmetic only) athttp://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.