Files
claudetools/wiki/systems/jupiter.md
Mike Swanson 0665e3a007 wiki/memory: retire GuruRMM 'VM' framing + correct Windows build chain
Two sweeps:
1. .30 is a PHYSICAL box (Lenovo ThinkCentre M83, Ubuntu 26.04), not a Jupiter
   VM — the VM was decommissioned 2026-06-12. Fixed inventory tables and the
   gururmm-build system page (overview, index, jupiter, gururmm-build,
   POWER_FAILURE_RUNBOOK).
2. Windows build chain: Beast (GURU-BEAST-ROG, tailnet 100.101.122.4, i9-14900K)
   is PRIMARY; Pluto (172.16.3.36) is FALLBACK. Verified against build-windows.sh
   (`attempt_build beast || attempt_build pluto`). Fixed overview, index,
   projects/gururmm (build-host table + flow + host detail), systems/pluto, and
   the reference_pluto_build_server memory.

Submodule advanced: build-pipeline doc comments corrected to match.
2026-06-12 07:46:15 -07:00

99 lines
5.2 KiB
Markdown

---
type: system
name: jupiter
display_name: Jupiter
last_compiled: 2026-05-24
compiled_by: DESKTOP-0O8A1RL/claude-main
sources:
- credentials.md
- .claude/memory/infra_office_network.md
backlinks:
- systems/gururmm-build
- systems/pluto
- systems/uranus
---
# Jupiter
## Identity
- **Hostname:** Jupiter
- **IP:** 172.16.3.20
- **Role:** Primary Unraid NAS — virsh VM host + Docker container host for ACG infrastructure
- **Location:** ACG office
- **OS:** Unraid (version not documented; presumed current)
- **Hardware:** Dell (iDRAC present — likely PowerEdge; exact model not documented)
## Specs
Not documented. iDRAC available at 172.16.1.73 (DHCP) for OOB management.
## Services
### Docker Containers
| Container | Port(s) | Notes |
|---|---|---|
| `npm` | 1880 (HTTP), 18443 (HTTPS), 7818 (admin) | Nginx Proxy Manager — handles all external reverse proxying |
| `gitea` | 3000 (HTTP), 2222 (SSH) | Internal Gitea git server; http://172.16.3.20:3000 |
| `seafile` + mysql + elasticsearch + memcached | 8082 | Seafile Pro file sync stack |
**NPM → 443 routing:** iptables PREROUTING rule on Jupiter: `dpt:443 → 172.17.0.2:443` (NPM Docker bridge IP). Persisted in `/boot/config/go` so it survives reboots.
### Virtual Machines (virsh)
| VM | IP | State | Role |
|---|---|---|---|
| ~~GuruRMM~~ | ~~172.16.3.30~~ | **decommissioned 2026-06-12** | Former GuruRMM VM — migrated to a physical box that took the .30 IP (2026-06-11); virsh domain destroyed + disk deleted 2026-06-12. No longer on Jupiter. |
| Claude-Builder (Pluto) | 172.16.3.36 | running | Windows Server 2019 — MSI + cargo builds |
| OwnCloud | 172.16.3.22 | running | OwnCloud file sync VM (cloud.acghosting.com) |
| Unifi | (IP not documented) | running | UniFi Network controller |
| Windows 7 | — | shut off | — |
| Windows Server 2016 | (none — APIPA) | running | Windows guest `ACG-DWP-X-BB`; e1000 NIC `vnet8` on br0, DHCP not leasing — see Known Issues |
| Windows Server 2016_Template | — | shut off | — |
## Access
- **SSH:** `ssh root@172.16.3.20` port 22
- **Password:** `op://Infrastructure/Jupiter (Unraid Primary)/password`
- **Unraid Web UI:** http://172.16.3.20 (same password)
- **NPM Admin:** http://172.16.3.20:7818
- **iDRAC:** https://172.16.1.73 (DHCP — IP may change)
- User: `op://Infrastructure/Jupiter (Unraid Primary)/iDRAC.iDRAC User`
- Password: `op://Infrastructure/Jupiter (Unraid Primary)/iDRAC.iDRAC Password`
- IPMI Key: `op://Infrastructure/Jupiter (Unraid Primary)/iDRAC.IPMI Key`
- **Vault path:** `op://Infrastructure/Jupiter (Unraid Primary)/`
- **SSH keys authorized:** claude-code@localadmin (ed25519), root@GuruSync (ed25519), guru@wsl (ed25519), guru@gururmm-build (ed25519)
## NPM Proxy Hosts (as of credentials.md — may be stale)
| External Host | Internal Target | Notes |
|---|---|---|
| emby.azcomputerguru.com | 172.16.2.99:8096 | Emby media server |
| git.azcomputerguru.com | 172.16.3.20:3000 | Gitea (Cloudflare-fronted — blocks direct curl; use http://172.16.3.20:3000 internally) |
| rmm-api.azcomputerguru.com | 172.16.3.20:3001 | **STALE** — actual GuruRMM API is on 172.16.3.30:3001; update this in NPM admin |
| unifi.azcomputerguru.com | 172.16.3.28:8443 | UniFi controller |
| sync.azcomputerguru.com | 172.16.3.20:8082 | Seafile Pro |
| plexrequest.azcomputerguru.com | 172.16.3.31:5055 | Plex request manager |
**[ACTION REQUIRED]** Update `rmm-api.azcomputerguru.com` proxy target from `172.16.3.20:3001``172.16.3.30:3001` in NPM admin (http://172.16.3.20:7818).
## Gitea
- **Internal URL:** http://172.16.3.20:3000 (use this for API calls and curl — git.azcomputerguru.com is Cloudflare-fronted and blocks direct curl)
- **SSH clone:** `ssh://azcomputerguru@172.16.3.20:2222/azcomputerguru/repo.git`
- **External URL:** https://git.azcomputerguru.com (browser only)
- **API Token:** `op://Infrastructure/Gitea/API.API Token`
## Known Issues & Quirks
- **iptables PREROUTING for port 443** persists via `/boot/config/go` — if NPM routing breaks after a reboot, check this file first.
- **iDRAC IP is DHCP** (172.16.1.73) — may drift. Verify before relying on it for OOB access.
- **guruRMM API proxy stale** — see NPM table above. Fix before it causes a routing incident.
- **Post-power-failure recovery order matters** — see `.claude/POWER_FAILURE_RUNBOOK.md` for the full recovery sequence (Tailscale routes, libvirt/VMs, Seafile, NPM/DNS in order).
- **VM "Windows Server 2016" (`ACG-DWP-X-BB`) — no LAN (2026-06-07):** guest stuck on APIPA `169.254.157.152`, no DHCP lease. Host side is healthy (vnet8 bridged to br0, forwarding, receiving LAN broadcast); fault is guest-side — single e1000 NIC set to DHCP, pfSense (172.16.0.1) not leasing it. Diagnose via `virsh domifaddr 9 --source agent` and qemu guest-exec `ipconfig /all`. Fix path: `ipconfig /renew` in-guest (stuck-client case) or assign a static IP if that is the intended config. PAUSED pending Mike's DHCP-vs-static decision.
## Backlinks
- [[systems/gururmm-build]] — GuruRMM **was** a VM here (virsh domain "GuruRMM"); decommissioned 2026-06-12, now a physical box at 172.16.3.30
- [[systems/pluto]] — Claude-Builder VM hosted here (virsh domain "Claude-Builder")
- [[systems/uranus]] — secondary storage Unraid node (separate machine, not hosted here)