Complete step-by-step instructions for installing and running Gridwolf on your system.
- System Requirements
- Prerequisites
- Installation Steps
- Running Gridwolf
- Docker Deployment
- Troubleshooting
- First Steps
- OS: macOS 12+, Windows 10+, Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+, Fedora 35+)
- CPU: 2+ cores (4+ cores recommended)
- RAM: 4 GB minimum, 8+ GB recommended
- Storage: 2 GB free space for installation + space for PCAP files
- CPU: Intel/AMD 4+ cores or Apple Silicon M1+
- RAM: 16 GB+
- Storage: SSD with 50+ GB free for large PCAP files
- Network: 1 Gbps connection for PCAP import (for optimal performance)
- ✅ macOS (Intel & Apple Silicon)
- ✅ Windows 10, 11, Server 2019+
- ✅ Linux (Ubuntu, Debian, CentOS, Fedora)
- ✅ Docker (Linux containers, Docker Desktop for Mac/Windows)
- ✅ Kubernetes (Helm charts available)
# Check if installed
node --version # Should be v18.0.0 or higher
npm --version # Should be v9.0.0 or higherInstall Node.js:
- macOS (via Homebrew):
brew install node
- Windows (via Chocolatey):
choco install nodejs
- Windows (via Installer): Download from nodejs.org and run installer
- Linux (Ubuntu/Debian):
sudo apt update sudo apt install nodejs npm
- Linux (Fedora/CentOS):
sudo dnf install nodejs npm
# Check if installed
git --version # Should be v2.20.0 or higherInstall Git:
- macOS:
brew install git
- Windows: Download from git-scm.com and run installer
- Linux (Ubuntu/Debian):
sudo apt install git
- Linux (Fedora/CentOS):
sudo dnf install git
# Check if installed
docker --version # Should be 20.10.0 or higher
docker-compose --versionDownload from docker.com
# Clone Gridwolf repository
git clone https://github.com/valinorintelligence/Gridwolf.git
cd Gridwolf# Navigate to frontend directory
cd frontend
# Install dependencies using npm
npm install
# Verify installation
npm list react react-dom # Should show installed versionsThis may take 2-5 minutes depending on your internet connection.
Create a .env.local file in the frontend directory for custom settings:
# Frontend Configuration
VITE_API_URL=http://localhost:3000
VITE_DEMO_MODE=false
VITE_MAX_PCAP_SIZE=5GB
VITE_SESSION_TIMEOUT=3600000Common Environment Variables:
| Variable | Default | Description |
|---|---|---|
VITE_API_URL |
http://localhost:3000 |
Backend API endpoint |
VITE_DEMO_MODE |
false |
Enable demo mode with mock data |
VITE_MAX_PCAP_SIZE |
5GB |
Maximum PCAP file size for upload |
VITE_SESSION_TIMEOUT |
3600000 |
Session timeout in milliseconds |
# Create optimized production build
npm run build
# Output will be in frontend/dist/
# Ready for deployment to any web serverPerfect for testing, feature development, and local assessment work:
# From frontend directory
npm run dev
# Server will start on http://localhost:5174
# Press 'q' to stop the serverWhat happens:
- Hot reload enabled (changes auto-reflect in browser)
- Source maps enabled for debugging
- Mock data loaded for testing
- Slower performance than production build
For deployment and performance-critical assessments:
# Build first
npm run build
# Preview production build
npm run preview
# Server will start on http://localhost:4173
# Optimized performance, no hot reload# Build Docker image
docker build -t gridwolf:latest .
# Run container
docker run -d \
--name gridwolf \
-p 5174:5174 \
-v gridwolf-data:/app/data \
gridwolf:latest
# Access at http://localhost:5174Docker Compose (if docker-compose.yml exists):
docker-compose up -d# Pull pre-built image
docker pull valinorintelligence/gridwolf:latest
# Run in background
docker run -d \
--name gridwolf \
-p 5174:5174 \
-e VITE_DEMO_MODE=true \
valinorintelligence/gridwolf:latestCreate docker-compose.yml:
version: '3.8'
services:
gridwolf:
image: valinorintelligence/gridwolf:latest
ports:
- "5174:5174"
environment:
VITE_API_URL: http://localhost:3000
VITE_DEMO_MODE: "false"
volumes:
- gridwolf-data:/app/data
- ./pcaps:/app/pcaps
restart: unless-stopped
volumes:
gridwolf-data:Run with:
docker-compose up -d# Deploy to Kubernetes cluster
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
# Port-forward to access
kubectl port-forward svc/gridwolf 5174:5174Solution:
# On macOS/Linux: Find and kill process
lsof -i :5174
kill -9 <PID>
# On Windows: Find and kill process
netstat -ano | findstr :5174
taskkill /PID <PID> /F
# Or use a different port
npm run dev -- --port 5175Solution:
# Fix npm permissions
sudo chown -R $(whoami) ~/.npm
npm installSolution:
# Increase Node memory limit
NODE_OPTIONS=--max-old-space-size=4096 npm run buildIssue: Cannot access http://localhost:5174
Solution:
# Check if server is running
npm list
# Check for firewall blocking port 5174
# Allow port 5174 in firewall settings
# Try explicit hostname
npm run dev -- --host 0.0.0.0Solution:
- Ensure PCAP file is valid:
file your-capture.pcap - Check file size doesn't exceed
VITE_MAX_PCAP_SIZE - Try smaller PCAP files first to test functionality
- Check browser console for specific error messages (F12 → Console tab)
Solution:
# Clear npm cache
npm cache clean --force
# Delete node_modules and reinstall
rm -rf node_modules package-lock.json
npm install
# Rebuild
npm run build
npm run previewOn first access, create an account:
- Email: Your assessment email
- Password: Strong password (8+ chars, numbers, symbols)
- Organization: Your organization name
- Role: Select your role (Security Analyst, OT Engineer, Administrator, Viewer)
- Navigate to Capture → PCAP Analysis
- Click Import PCAP tab
- Drag-drop or select your
.pcapfile - Monitor the 4-stage pipeline:
- Ingestion → File validation
- Dissection → Protocol parsing
- Topology → Device mapping
- Risk Triage → Security assessment
- Go to Discovery → Topology
- View devices on Purdue Model layers
- Click devices to see:
- Vendor/model/firmware
- Open ports and protocols
- Connected peers
- Risk indicators
- Navigate to Security & Detection → MITRE ATT&CK
- Review detection rules and findings
- Check CVE Matching for vulnerabilities
- Examine C2/Beacon Detection for threats
- Go to Compliance → IEC/NIST/NERC
- Select framework (IEC 62443, NIST 800-82, NERC CIP)
- Review compliance status and gaps
- Map findings to controls
- Navigate to Reporting → Assessment Reports
- Configure:
- Report type (Executive, Technical, Detailed)
- Sections to include
- Client information
- Click Generate to create PDF
- Go to Operations → Sessions & Projects
- Create new project for client assessment
- Save session baseline for drift detection
- Archive completed assessments
# Development
npm run dev # Start dev server on :5174
npm run build # Build production distribution
npm run preview # Preview production build
# Maintenance
npm install # Install/update dependencies
npm update # Update packages to latest versions
npm audit # Check for security vulnerabilities
npm run build --verbose # Build with detailed output
# Docker
docker build -t gridwolf:latest .
docker run -p 5174:5174 gridwolf:latest
docker-compose up -d
# Kubernetes
kubectl apply -f k8s/
kubectl port-forward svc/gridwolf 5174:5174- 📖 Read FEATURES.md for detailed feature overview
- 🔒 Review SECURITY.md for air-gap deployment
- 🏗️ Check ARCHITECTURE.md for technical details
- 💬 Join community discussions on GitHub Issues
- Documentation: Gridwolf Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Last Updated: March 27, 2026 | Version: 0.9.2-alpha