Skip to main content
Version: 0.8

Architecture

Architecture overview

A range42 deployment can be driven in two complementary ways:

Web UI path (visual, recommended for day-to-day operations):

┌─ range42-deployer-ui (Vue 3 + VueFlow) ──────────────────┐
│ Visual topology canvas — drag-and-drop lab design │
└──────────────────────────┬───────────────────────────────┘
│ REST + WebSocket
┌──────────────────────────▼───────────────────────────────┐
│ range42-api-gw (Kong gateway) │
│ Auth, ACLs, rate-limiting │
└──────────────────────────┬───────────────────────────────┘

┌──────────────────────────▼───────────────────────────────┐
│ range42-backend-api (FastAPI) │
│ 80 REST endpoints + /ws/status stream │
└──────────┬───────────────────────┬───────────────────────┘
│ │
range42-playbooks range42-catalog
(scenarios + bundles) (roles, Docker, CTF content)


[ Proxmox VE cluster ]
VMs, LXC, networks

CLI path (direct, for advanced/scripted use):

[ deployer-cli (range42-context) ]

├─ runs the setup wizard
├─ holds inventory + credentials
└─ drives Ansible playbooks directly


[ Proxmox VE cluster ]
VMs, LXC, networks

Both paths converge on the same Proxmox infrastructure and Ansible playbooks — the web UI simply adds a visual layer and a managed API on top.

The deployer-cli is your local machine by default, or a dedicated pivot VM if you manage multiple Proxmox infrastructures from one place.

Today, the lab VMs on Proxmox are generally organised into 3 host groups (this is the convention used by current scenarios and may evolve as new ones are added):

GroupPurposeRequired
Vulnerable targetsCore lab systems for attack and analysisYes
AdministrationMonitoring, orchestration, supervisionNo
Student / TrainingWorkstations for learnersNo

Only the vulnerable hosts group is required — admin and student groups are optional and can be disabled to save resources.

The stack

In its recommended configuration, range42 relies on:

  • Proxmox — hypervisor for virtual machines (mandatory)
  • Ansible — provisioning and orchestration (mandatory)
  • Docker / LXC — containerized services and vulnerable stacks (recommended)
  • Wazuh — security monitoring and detection (optional)
  • Firewalls / VPN — network segmentation and access control (recommended)
  • Vue.js / FastAPI / Kong — web UI and API layer (available)