Files
ai-context/index.md
T

4.6 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

  • DO (165.22.1.228) — DigitalOcean VPS, CyberPanel/OpenLiteSpeed. Hosts client/personal websites. NOT JARVIS, NOT FusionPBX (both 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) — media server: custom Netflix-style app + Sonarr/Radarr/Prowlarr/qBittorrent (all VPN'd via gluetun/NordVPN) + Portainer + MSP360 backup, all in Docker Compose.
  • 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.
  • 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.

Every operational repo (kino-app, jarvis, web-dashboard, chucko, and the DO-server client sites) has a NOTICE file — "Property of TomTom Enterprises." Commits to these repos must not include AI-authorship trailers (no Co-Authored-By: Claude etc.). This does not apply to genuine product functionality that happens to call an AI API (e.g. JARVIS's own Claude integration is real functionality, not attribution, and stays as-is).