System Requirements
Hardware and software requirements for BlueSentinel central server and endpoint agents.
Central Server
| Requirement | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 2 GB | 4+ GB |
| Storage | 20 GB | 50+ GB (for alert data) |
| OS | Ubuntu 20.04+ / macOS 12+ | Ubuntu 22.04 LTS |
| Python | 3.9+ | 3.11+ |
| PostgreSQL | 14+ | 16+ |
| Network | Port 5100 open | TLS/SSL certificate |
Python Dependencies
The server requires the following Python packages (installed via requirements.txt):
flask>=3.0.0— Web frameworkflask-sqlalchemy>=3.1.0— ORMflask-login>=0.6.0— Session managementflask-socketio>=5.3.0— WebSocket supportpsycopg2-binary>=2.9.0— PostgreSQL driverbcrypt>=4.0.0— Password hashingPyJWT>=2.8.0— JWT tokensgunicorn>=21.0.0— Production WSGI server
Endpoint Agent
| Requirement | Windows | macOS |
|---|---|---|
| OS Version | Windows 10/11 | macOS 12+ (Monterey) |
| Privileges | Administrator | root |
| RAM Overhead | ~50 MB | ~50 MB |
| Disk Space | ~30 MB | ~30 MB |
| Python | 3.9+ (bundled) | 3.9+ (bundled) |
| Network | Outbound HTTPS to server | Outbound HTTPS to server |
Agent Dependencies
psutil>=5.9.0— Process and system monitoringwatchdog>=3.0.0— File system event monitoringpyperclip>=1.8.2— Clipboard accessmitmproxy>=10.0.0— Browser HTTPS proxycryptography>=41.0.0— AES-256 encryption, key managementrequests>=2.31.0— HTTP client
Chrome Extension
- Chrome 88+ or any Chromium-based browser (Edge, Brave, etc.)
- Deployed via Chrome Enterprise Policy or Group Policy (force-installed)
- No additional dependencies
Network Requirements
| Direction | Port | Protocol | Purpose |
|---|---|---|---|
| Agent → Server | 5100 | HTTPS | Heartbeat, alerts, policy sync |
| Agent (local) | 8889 | HTTP | Browser proxy (localhost only) |
| Server → DB | 5432 | TCP | PostgreSQL connection |
The browser proxy on port 8889 only listens on
localhost. It is not exposed to the network.
Database Sizing
| Devices | Alerts/Day | Storage/Month |
|---|---|---|
| 50 | ~5,000 | ~500 MB |
| 200 | ~20,000 | ~2 GB |
| 500 | ~50,000 | ~5 GB |
| 1000+ | ~100,000+ | ~10+ GB |
Alerts use BIGSERIAL primary keys and JSONB detail columns. Consider implementing alert archival or rotation for deployments over 500 devices.