Files
claudetools/wiki/systems/jupiter.md
Mike Swanson 05c17b476f sync: auto-sync from GURU-5070 at 2026-06-07 16:47:01
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-07 16:47:01
2026-06-07 16:53:22 -07:00

99 lines
5.1 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 | running | Linux VM — GuruRMM API, ClaudeTools API, MariaDB, PostgreSQL, build pipeline |
| 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 VM hosted here (virsh domain "GuruRMM")
- [[systems/pluto]] — Claude-Builder VM hosted here (virsh domain "Claude-Builder")
- [[systems/uranus]] — secondary storage Unraid node (separate machine, not hosted here)