Initial commit: PFI fleet inventory, stacks, tooling, and backup pipeline
Captures the full workspace state built up to this point:
- CLAUDE.md + README.md describing conventions and the four-host fleet
(ana-ml2, ana-docker, nh3-docker, esh-docker-vm).
- Per-host notes under servers/<host>/ with ssh-target fallback files
and latest system-details snapshots (two in-compose credential leaks
scrubbed; the upstream compose files still need to move those to .env).
- scripts/: server_inspect.sh (read-only remote diagnostic),
refresh-server-info.sh (dir-driven discovery + snapshot capture with
validation warnings), add-host.sh, sync-stacks.sh (pull
compose/conf trees), deploy-stack.sh (push with per-file diff + prompt).
- stacks/: canonical compose for backrest, beszel, dozzle, llama-swap,
rest-server-ana, rest-server-nh3, vllm-qwen3, plus the retired
infinity reference. All use the .env-driven + traefik-net + homepage
label pattern.
- configs/restic/ana-docker/: first resticprofile config + pre-backup
hook (Synapse pg_dump, Seafile mysqldump, Vaultwarden SQLite); templates
for the other three hosts to come.
- docs/pfi/: general infrastructure reference carried over.
- .gitignore excludes .env, stacks-mirror/, and assorted secret/state
filenames to prevent re-leaks on later commits.
This commit is contained in:
@@ -0,0 +1,260 @@
|
||||
# PFI-ANA Proxmox VM Inventory
|
||||
|
||||
**Hypervisor**: Proxmox VE at `10.250.250.31:8006`
|
||||
**Storage Pool**: `ospool` (CEPH/zfs — all VM disks reside here)
|
||||
**Network Bridge**: `vmbr0` with VLAN tag `50` on all VMs
|
||||
**QEMU Version**: 7.2.0 (primary), VM 106 on 8.1.5
|
||||
|
||||
## Virtual Machines
|
||||
|
||||
### VM 100 — PFI-ANA-TRUENAS
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 100 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 2 sockets × 2 cores = 4 vCPU (host passthrough) |
|
||||
| **Memory** | 8,196 MB |
|
||||
| **Disk** | `scsi0`: 80G on ospool |
|
||||
| **CDROM** | `ide2`: TrueNAS-SCALE-22.12.1.iso |
|
||||
| **Network** | `net0`: virtio, MAC `9A:90:79:7A:86:87`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Order 2, delay 120s |
|
||||
| **Onboot** | No |
|
||||
|
||||
**Purpose**: TrueNAS SCALE storage appliance. Provides NAS/NFS/iSCSI to the colo environment.
|
||||
|
||||
---
|
||||
|
||||
### VM 101 — PFI-ANA-DC
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 101 |
|
||||
| **OS Type** | Windows 11 |
|
||||
| **BIOS** | OVMF (UEFI) with TPM 2.0 |
|
||||
| **Machine** | pc-q35-7.2 |
|
||||
| **CPU** | 2 sockets × 6 cores = 12 vCPU (host passthrough) |
|
||||
| **Memory** | 24,576 MB |
|
||||
| **Disk** | `scsi0`: 240G on ospool |
|
||||
| **EFI Disk** | `efidisk0`: 1M on ospool |
|
||||
| **TPM** | `tpmstate0`: 4M, v2.0 on ospool |
|
||||
| **CDROM** | `scsi1`: virtio-win-0.1.229.iso (VirtIO drivers) |
|
||||
| **Network** | `net0`: e1000, MAC `CE:C8:D7:FE:32:40`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → net0 → ide0 → scsi1 |
|
||||
| **Startup** | Order 5, delay 120s |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: Windows Domain Controller for the Anaheim environment. UEFI with TPM 2.0 suggests Active Directory / Group Policy services.
|
||||
|
||||
---
|
||||
|
||||
### VM 102 — PFI-ANA-Docker
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 102 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 2 sockets × 4 cores = 8 vCPU (x86-64-v2-AES) |
|
||||
| **Memory** | 16,384 MB |
|
||||
| **Disk** | `scsi0`: 250G on ospool |
|
||||
| **Network** | `net0`: virtio, MAC `BA:AF:E7:E9:79:23`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → net0 → scsi1 |
|
||||
| **Startup** | Order 4 |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: Primary Docker host for the colo. Runs Dockge for compose management and Traefik for reverse proxy. All Docker services documented in [docker-stack.md](docker-stack.md) run here.
|
||||
|
||||
---
|
||||
|
||||
### VM 103 — PFI-SlaveBot
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 103 |
|
||||
| **OS Type** | Windows 10 |
|
||||
| **Machine** | pc-i440fx-7.2 |
|
||||
| **CPU** | 2 sockets × 4 cores = 8 vCPU (host passthrough) |
|
||||
| **Memory** | 8,192 MB |
|
||||
| **Disk** | `ide0`: 256G on ospool |
|
||||
| **Network** | `net0`: e1000, MAC `CE:F0:49:C9:03:70`, vmbr0, VLAN 50 |
|
||||
| **Boot** | ide0 → net0 → scsi0 |
|
||||
| **Startup** | Not configured |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: Windows 10 workstation/bot. Likely a task automation or RDP-accessible machine.
|
||||
|
||||
---
|
||||
|
||||
### VM 104 — PFI-Mongo
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 104 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 2 sockets × 4 cores = 8 vCPU (host passthrough) |
|
||||
| **Memory** | 8,196 MB |
|
||||
| **Disk** | `scsi0`: 256G on ospool |
|
||||
| **Network** | `net0`: virtio, MAC `32:57:90:B2:66:61`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Order 3, delay 60s |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: MongoDB server. Config file contains a connection string reference: `mongodb://10.250.50.81:27017/`.
|
||||
|
||||
---
|
||||
|
||||
### VM 105 — PFI-Postgres
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 105 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 4 sockets × 4 cores = 16 vCPU |
|
||||
| **Memory** | 8,196 MB |
|
||||
| **Disk** | `scsi0`: 80G on ospool |
|
||||
| **CDROM** | `ide2`: debian-11.6.0-amd64-netinst.iso |
|
||||
| **Network** | `net0`: virtio, MAC `C2:1F:CC:71:66:D0`, vmbr0, VLAN 50 |
|
||||
| **Serial** | `serial0`: socket (IPMI/serial console) |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Order 3, delay 60s |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: PostgreSQL database server running Debian 11.
|
||||
|
||||
---
|
||||
|
||||
### VM 106 — PFI-Tailscale
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 106 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 2 sockets × 4 cores = 8 vCPU (x86-64-v2-AES) |
|
||||
| **Memory** | 2,048 MB |
|
||||
| **Disk** | `scsi0`: 256G on ospool |
|
||||
| **CDROM** | `ide2`: debian-12.2.0-amd64-netinst.iso |
|
||||
| **Network** | `net0`: virtio, MAC `BC:24:11:D7:E9:52`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Not configured |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: Tailscale VPN node for mesh connectivity. Provides the VPN tunnel endpoints that link the three PFI sites together. Running Debian 12 (newer than most other VMs). Lightweight at 2G RAM.
|
||||
|
||||
---
|
||||
|
||||
### VM 107 — PFI-Pteradactyl
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 107 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 2 sockets × 4 cores = 8 vCPU (host passthrough) |
|
||||
| **Memory** | 8,192 MB |
|
||||
| **Disk** | `scsi0`: 256G on ospool |
|
||||
| **CDROM** | `ide2`: debian-11.6.0-amd64-netinst.iso |
|
||||
| **Network** | `net0`: virtio, MAC `CA:44:37:8A:BF:E0`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Not configured |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: Pterodactyl game server panel. Manages game server instances.
|
||||
|
||||
---
|
||||
|
||||
### VM 108 — PFI-ANA--DEV
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 108 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 2 sockets × 4 cores = 8 vCPU |
|
||||
| **Memory** | 8,192 MB |
|
||||
| **Disk** | `scsi0`: 120G on ospool |
|
||||
| **CDROM** | `ide2`: debian-11.6.0-amd64-netinst.iso |
|
||||
| **Network** | `net0`: virtio, MAC `F2:EF:82:2C:AF:90`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Order 10, delay 60s |
|
||||
| **Onboot** | No |
|
||||
|
||||
**Purpose**: Development environment. Not set to auto-boot, starts after core infrastructure (order 10).
|
||||
|
||||
---
|
||||
|
||||
### VM 110 — PFI-ANA-Webhost
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 110 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 4 sockets × 4 cores = 16 vCPU |
|
||||
| **Memory** | 4,096 MB (balloon: 1024 MB minimum) |
|
||||
| **Disk** | `scsi0`: 250G on ospool |
|
||||
| **CDROM** | `ide2`: debian-11.6.0-amd64-netinst.iso |
|
||||
| **Network** | `net0`: virtio, MAC `E6:F9:3A:C9:61:2A`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Order 30, up 120s, down 120s |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: Web hosting server. Highest startup order (30) — starts last. Also has the longest graceful shutdown timeout (120s). Memory ballooning enabled for dynamic allocation.
|
||||
|
||||
---
|
||||
|
||||
### VM 111 — pfi-tacticalrmm
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **VMID** | 111 |
|
||||
| **OS Type** | Linux (l26) |
|
||||
| **CPU** | 4 sockets × 4 cores = 16 vCPU |
|
||||
| **Memory** | 8,192 MB |
|
||||
| **Disk** | `scsi0`: 256G on ospool |
|
||||
| **Network** | `net0`: virtio, MAC `BA:FA:65:F6:46:25`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Order 20 |
|
||||
| **Onboot** | Yes |
|
||||
|
||||
**Purpose**: Tactical RMM (Remote Monitoring and Management) server. Provides IT management, remote access, and monitoring capabilities.
|
||||
|
||||
---
|
||||
|
||||
## Startup Order Summary
|
||||
|
||||
VMs are brought up in the following order on host boot:
|
||||
|
||||
| Order | VMID | Name | Delay |
|
||||
|---|---|---|---|
|
||||
| 2 | 100 | PFI-ANA-TRUENAS | 120s |
|
||||
| 3 | 104 | PFI-Mongo | 60s |
|
||||
| 3 | 105 | PFI-Postgres | 60s |
|
||||
| 4 | 102 | PFI-ANA-Docker | — |
|
||||
| 5 | 101 | PFI-ANA-DC | 120s |
|
||||
| 10 | 108 | PFI-ANA--DEV | 60s |
|
||||
| 20 | 111 | pfi-tacticalrmm | — |
|
||||
| 30 | 110 | PFI-ANA-Webhost | 120s |
|
||||
|
||||
VMs without a startup order (103, 106, 107) will start based on their `onboot` setting but without a specific sequencing delay.
|
||||
|
||||
## Resource Summary
|
||||
|
||||
| VMID | Name | vCPU | RAM (MB) | Disk | OS |
|
||||
|---|---|---|---|---|---|
|
||||
| 100 | PFI-ANA-TRUENAS | 4 | 8,196 | 80G | TrueNAS SCALE |
|
||||
| 101 | PFI-ANA-DC | 12 | 24,576 | 240G | Windows 11 |
|
||||
| 102 | PFI-ANA-Docker | 8 | 16,384 | 250G | Linux |
|
||||
| 103 | PFI-SlaveBot | 8 | 8,192 | 256G | Windows 10 |
|
||||
| 104 | PFI-Mongo | 8 | 8,196 | 256G | Linux |
|
||||
| 105 | PFI-Postgres | 16 | 8,196 | 80G | Debian 11 |
|
||||
| 106 | PFI-Tailscale | 8 | 2,048 | 256G | Debian 12 |
|
||||
| 107 | PFI-Pteradactyl | 8 | 8,192 | 256G | Debian 11 |
|
||||
| 108 | PFI-ANA--DEV | 8 | 8,192 | 120G | Debian 11 |
|
||||
| 110 | PFI-ANA-Webhost | 16 | 4,096 | 250G | Debian 11 |
|
||||
| 111 | pfi-tacticalrmm | 16 | 8,192 | 256G | Linux |
|
||||
| | **Totals** | **112** | **105,348** | **2,300G** | |
|
||||
|
||||
## Network Notes
|
||||
|
||||
- All VMs are on **VLAN 50** via `vmbr0`.
|
||||
- All VMs have **firewall enabled** on the network interface.
|
||||
- Linux VMs use `virtio` network adapters; Windows VMs use `e1000`.
|
||||
- The MongoDB connection string embedded in VM 104's config references IP `10.250.50.81`, suggesting VLAN 50 maps to the `10.250.50.0/24` subnet within the `10.250.0.0/16` range.
|
||||
Reference in New Issue
Block a user