mirror of
https://github.com/myronblair/ai-context
synced 2026-07-27 17:23:53 -05:00
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
This commit is contained in:
@@ -1,38 +1,45 @@
|
||||
# AI Context Index — Myron Blair Home Lab
|
||||
# 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.
|
||||
**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](servers.md) | Connecting to any machine, SSH patterns, credentials |
|
||||
| [servers.md](servers.md) | Connecting to any machine, SSH patterns, credentials, VM map |
|
||||
| [jarvis.md](jarvis.md) | Working on JARVIS AI dashboard, API, chat, agents |
|
||||
| [streamhoard.md](streamhoard.md) | Working on the media server / *arr stack / VPN / Portainer / MSP360 backup on CT104 |
|
||||
| [voip.md](voip.md) | FusionPBX, SignalWire, landline/FXO, SIP registration, phones |
|
||||
| [sites.md](sites.md) | Working on any website, deploys, DBs, email |
|
||||
| [gotchas.md](gotchas.md) | Before running any command — critical quirks |
|
||||
| [reference.md](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
|
||||
|
||||
**This is a home-lab + managed-hosting environment.**
|
||||
No local codebase. Work happens via SSH to remote servers and git push to GitHub (auto-deploy active).
|
||||
**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
|
||||
- **DO (165.22.1.228)** — DigitalOcean VPS. CyberPanel/OpenLiteSpeed. Hosts all websites (NOT JARVIS anymore).
|
||||
- **JARVIS VM (10.48.200.211)** — PVE1 VM 211. nginx/PHP8.3/MariaDB/Redis/Arc Reactor. JARVIS AI lives here.
|
||||
- **NPM (10.48.200.200)** — Nginx Proxy Manager. Routes jarvis.orbishosting.com + hoa.orbishosting.com → local VMs.
|
||||
- **PVE1 (orbisne.fortiddns.com / 10.48.200.90)** — Proxmox primary hypervisor. 10+ VMs.
|
||||
- **PVE2 (10.48.200.91)** — Proxmox secondary hypervisor. 2 VMs.
|
||||
- **FusionPBX (134.209.72.226)** — FreeSWITCH PBX server.
|
||||
- **Local VMs** — HA (10.48.200.97), Ollama (10.48.200.210), Homebridge (10.48.200.18), Jellyfin (10.48.200.33), NovaCPX (10.48.200.110), MediaStack (10.48.200.35).
|
||||
### 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 AI dashboard at `https://jarvis.orbishosting.com` — agent monitoring, chat, network scan, admin portal
|
||||
- **Admin portal** — `https://jarvis.orbishosting.com/admin/` — full CRUD for all JARVIS data
|
||||
- **Auto-deploy** — push to GitHub `main` → webhook → server pulls within 1 minute
|
||||
### 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`.
|
||||
|
||||
### Current Status (as of 2026-06-26)
|
||||
- JARVIS fully migrated to PVE1 VM 211 (10.48.200.211) — not on DO anymore
|
||||
- JARVIS agents online: DO, PVE1, PVE2, NetworkBackup, HA, Homebridge, Jellyfin, MediaStack, NovaCPX, FortiGate, Yealink T48S
|
||||
- Daily backups running at 7am UTC to `/var/backups/jarvis/`, downloadable from admin panel
|
||||
- Network auto-scan: PVE1 cron every 3 min → pushes to `/api/netscan`
|
||||
- Ollama at 10.48.200.210:11434 (listening on 0.0.0.0 — fixed 2026-06-24)
|
||||
### 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](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.
|
||||
|
||||
Reference in New Issue
Block a user