soc-stack
ActiveYou want a real SOC to train on, test detections against, or run as a homelab, but wiring Wazuh, TheHive, Cortex, MISP, Zeek, and Suricata together by hand eats days and breaks on the next rebuild. soc-stack is one curl command on a Proxmox host that stands up all six in dedicated LXCs, cross-wired, in about 30 minutes.
See it workrepresentative session
Representative full-stack run. Illustrative values, RFC 5737 addresses. Everything is self-hosted on hardware you control; no telemetry, no phone-home.
What it does
soc-stack is a one-command, self-hosted SOC lab builder: run one curl on a Proxmox VE host and roughly 30 minutes later you have Wazuh (SIEM/XDR), TheHive + Cortex (case management + SOAR), MISP (threat intel), Zeek + Suricata (NSM + IDS), dashboards, and 9 MCP servers, each in its own unprivileged LXC and already wired to its peers. It exists because assembling six upstream tools plus the integrations between them (alert forwarding, analyzer wiring, IOC feeds, log shipping) is a multi-day project that has to be redone every rebuild. It differs from a single all-in-one SIEM appliance by treating the whole stack as one declarative, idempotent, agent-friendly deploy: components are the real upstream projects at pinned versions (not a fork), each lives in its own snapshot-able LXC, the run is non-interactive with structured JSON output, and state files (not a state backend) drive idempotent re-runs.
CapabilitiesSix components, each in its own LXC
Wazuh
SIEM / XDRManager, Indexer, Dashboard for alerting, FIM, vulnerability detection, and agent management.
TheHive + Cortex
case + SOARCase management with Cortex analyzers and responders for observable enrichment.
MISP
threat intelIOC sharing, feeds, and correlation, feeding Suricata rules on an hourly pull.
Zeek + Suricata
NSM + IDS/IPSNetwork security monitoring and intrusion detection, shipping logs into Wazuh.
Dashboards
Bro Hunter + Playbook ForgeCustom hunt and playbook dashboards served behind nginx.
MCP servers
9 serversWazuh, TheHive, Cortex, MISP, Zeek, Suricata, MITRE ATT&CK, Rapid7, and Sophos exposed to any MCP client over SSE via mcp-proxy.
Setup
curl -sSL https://raw.githubusercontent.com/solomonneas/soc-stack/main/install.sh | sudo bash
Run as root on a Proxmox VE 7/8/9 host with a bridge (default vmbr0) and storage pool; needs ~12 GB free RAM and ~150 GB disk for the full stack at minimal preset. Tune with --components, --preset, --bridge, --storage, --ip-mode, and --manifest.
curl -sSL .../install.sh | sudo bash -s -- \ --components all --preset minimal \ --ip-mode dhcp \ --json-out /root/soc-stack.json \ --mcp-config-out /root/mcp-clients.json