# robcorbisiero/enterprise-infrastructure-homelab architecture

> Architecture diagram of the GitHub repository robcorbisiero/enterprise-infrastructure-homelab, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/robcorbisiero/enterprise-infrastructure-homelab
- Repository: https://github.com/robcorbisiero/enterprise-infrastructure-homelab

## Overview

This repository is an infrastructure homelab record: it documents building and operating a routed network, Windows services, a Proxmox cluster, and workloads running on that cluster. The principal workflow is an administrator configuring the network and server services, deploying VMs and shared storage, then running Docker workloads and monitoring them. Backup and Ansible automation are complementary operational branches. The graph follows relationships stated in the README; source excerpts were unavailable, so it does not infer undocumented command-level wiring.

Main entry points: [`proxmox/vm-inventory.md`](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/vm-inventory.md) (Proxmox cluster), [`windows-server/windows-server-2016-install.md`](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/windows-server-2016-install.md) (Windows Server), [`proxmox/docker-host.md`](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/docker-host.md) (Docker host), [`monitoring/monitoring-stack.md`](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/monitoring-stack.md) (Monitoring stack)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_network["Network"]
  node_switch["Cisco switch<br/>[cisco-3750g-lab.md]"]
  node_switch_recovery["Switch recovery"]
  node_network_design["Network design<br/>[README.md]"]
end

subgraph group_windows["Windows Services"]
  node_windows_server["Windows Server"]
  node_active_directory["Active Directory"]
  node_group_policy["Group Policy<br/>[group-policy.md]"]
  node_wds["Deployment Services"]
end

subgraph group_virtualization["Virtualization"]
  node_proxmox_cluster["Proxmox cluster<br/>[vm-inventory.md]"]
  node_nfs_storage[("NFS shared storage")]
  node_ubuntu_vm["Ubuntu VM"]
  node_docker_host["Docker host<br/>[docker-host.md]"]
  node_portainer["Portainer<br/>[docker-host.md]"]
end

subgraph group_operations["Operations"]
  node_monitoring_stack["Monitoring stack"]
  node_prometheus[("Prometheus<br/>[prometheus.yml]")]
  node_alerting["Alerting<br/>[alert.rules.yml]"]
  node_alertmanager["Alertmanager<br/>[alertmanager.yml]"]
  node_node_exporter["Node exporter<br/>[node_exporter.yml]"]
  node_backup_dr["Backup and restore"]
  node_ansible["Ansible automation<br/>[automation.md]"]
  node_proxmox_playbook["Proxmox exporter playbook<br/>[node_exporter.yml]"]
  node_docker_playbook["Docker host playbook<br/>[docker_host.yml]"]
end

node_admin(("Administrator"))

node_admin -->|"recovers"| node_switch_recovery
node_switch_recovery -->|"restores access"| node_switch
node_admin -->|"configures"| node_switch
node_switch -->|"implements VLANs"| node_network_design
node_admin -->|"installs"| node_windows_server
node_windows_server -->|"hosts services"| node_active_directory
node_windows_server -->|"prepares imaging"| node_wds
node_active_directory -->|"scopes policies"| node_group_policy
node_admin -->|"builds cluster"| node_proxmox_cluster
node_windows_server -->|"provides NFS"| node_nfs_storage
node_nfs_storage -->|"provides shared storage"| node_proxmox_cluster
node_proxmox_cluster -->|"hosts"| node_ubuntu_vm
node_ubuntu_vm -->|"runs"| node_docker_host
node_docker_host -->|"runs"| node_portainer
node_docker_host -->|"deploys"| node_monitoring_stack
node_monitoring_stack -->|"includes"| node_prometheus
node_prometheus -->|"evaluates rules"| node_alerting
node_alerting -->|"sends alerts"| node_alertmanager
node_monitoring_stack -->|"collects host metrics"| node_node_exporter
node_proxmox_cluster -->|"hosts exporters"| node_node_exporter
node_admin -->|"configures backups"| node_backup_dr
node_backup_dr -->|"backs up and restores"| node_proxmox_cluster
node_admin -->|"uses automation"| node_ansible
node_ansible -->|"organizes"| node_proxmox_playbook
node_proxmox_playbook -->|"installs exporters"| node_proxmox_cluster
node_ansible -->|"organizes"| node_docker_playbook
node_docker_playbook -->|"configures host"| node_docker_host

click node_switch "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/networking/cisco-3750g-lab.md"
click node_switch_recovery "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/networking/cisco-switch-recovery.md"
click node_network_design "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/README.md"
click node_windows_server "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/windows-server-2016-install.md"
click node_active_directory "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/active-directory.md"
click node_group_policy "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/group-policy.md"
click node_wds "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/windows-deployment-services.md"
click node_proxmox_cluster "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/vm-inventory.md"
click node_nfs_storage "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/windows-nfs-storage.md"
click node_ubuntu_vm "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/ubuntu-server-vm.md"
click node_docker_host "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/docker-host.md"
click node_portainer "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/docker-host.md"
click node_monitoring_stack "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/monitoring-stack.md"
click node_prometheus "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/prometheus.yml"
click node_alerting "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/alert.rules.yml"
click node_alertmanager "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/alertmanager.yml"
click node_node_exporter "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/ansible/playbooks/node_exporter.yml"
click node_backup_dr "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/backup-and-disaster-recovery.md"
click node_ansible "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/ansible/automation.md"
click node_proxmox_playbook "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/ansible/playbooks/node_exporter.yml"
click node_docker_playbook "https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/ansible/playbooks/docker_host.yml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_switch,node_switch_recovery,node_network_design toneBlue
class node_windows_server,node_active_directory,node_group_policy,node_wds toneAmber
class node_proxmox_cluster,node_nfs_storage,node_ubuntu_vm,node_docker_host,node_portainer toneMint
class node_monitoring_stack,node_prometheus,node_alerting,node_alertmanager,node_node_exporter,node_backup_dr,node_ansible,node_proxmox_playbook,node_docker_playbook toneRose
class node_admin toneIndigo
```

## Components

### Network

- [Cisco switch](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/networking/cisco-3750g-lab.md): `networking/cisco-3750g-lab.md`
- [Switch recovery](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/networking/cisco-switch-recovery.md): `networking/cisco-switch-recovery.md`
- [Network design](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/README.md): `README.md`

### Windows Services

- [Windows Server](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/windows-server-2016-install.md): `windows-server/windows-server-2016-install.md`
- [Active Directory](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/active-directory.md): `windows-server/active-directory.md`
- [Group Policy](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/group-policy.md): `windows-server/group-policy.md`
- [Deployment Services](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/windows-server/windows-deployment-services.md): `windows-server/windows-deployment-services.md`

### Virtualization

- [Proxmox cluster](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/vm-inventory.md): `proxmox/vm-inventory.md`
- [NFS shared storage](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/windows-nfs-storage.md): `proxmox/windows-nfs-storage.md`
- [Ubuntu VM](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/ubuntu-server-vm.md): `proxmox/ubuntu-server-vm.md`
- [Docker host](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/docker-host.md): `proxmox/docker-host.md`
- [Portainer](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/docker-host.md): `proxmox/docker-host.md`

### Operations

- [Monitoring stack](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/monitoring-stack.md): `monitoring/monitoring-stack.md`
- [Prometheus](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/prometheus.yml): `monitoring/prometheus.yml`
- [Alerting](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/alert.rules.yml): `monitoring/alert.rules.yml`
- [Alertmanager](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/monitoring/alertmanager.yml): `monitoring/alertmanager.yml`
- [Node exporter](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/ansible/playbooks/node_exporter.yml): `ansible/playbooks/node_exporter.yml`
- [Backup and restore](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/proxmox/backup-and-disaster-recovery.md): `proxmox/backup-and-disaster-recovery.md`
- [Ansible automation](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/ansible/automation.md): `ansible/automation.md`
- [Proxmox exporter playbook](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/ansible/playbooks/node_exporter.yml): `ansible/playbooks/node_exporter.yml`
- [Docker host playbook](https://github.com/robcorbisiero/enterprise-infrastructure-homelab/blob/main/ansible/playbooks/docker_host.yml): `ansible/playbooks/docker_host.yml`

### Other components

- **Administrator**

## Connections

- Administrator → Switch recovery: recovers
- Switch recovery → Cisco switch: restores access
- Administrator → Cisco switch: configures
- Cisco switch → Network design: implements VLANs
- Administrator → Windows Server: installs
- Windows Server → Active Directory: hosts services
- Windows Server → Deployment Services: prepares imaging
- Active Directory → Group Policy: scopes policies
- Administrator → Proxmox cluster: builds cluster
- Windows Server → NFS shared storage: provides NFS
- NFS shared storage → Proxmox cluster: provides shared storage
- Proxmox cluster → Ubuntu VM: hosts
- Ubuntu VM → Docker host: runs
- Docker host → Portainer: runs
- Docker host → Monitoring stack: deploys
- Monitoring stack → Prometheus: includes
- Prometheus → Alerting: evaluates rules
- Alerting → Alertmanager: sends alerts
- Monitoring stack → Node exporter: collects host metrics
- Proxmox cluster → Node exporter: hosts exporters
- Administrator → Backup and restore: configures backups
- Backup and restore → Proxmox cluster: backs up and restores
- Administrator → Ansible automation: uses automation
- Ansible automation → Proxmox exporter playbook: organizes
- Proxmox exporter playbook → Proxmox cluster: installs exporters
- Ansible automation → Docker host playbook: organizes
- Docker host playbook → Docker host: configures host
