A TypeScript-based server that provides simple real-time Linux hardware monitoring capabilities through a WebSocket interface. This server collects and broadcasts system metrics including CPU, GPU, memory usage, temperatures, fan speeds, and I/O statistics.
- Simple real-time hardware monitoring
- WebSocket-based communication
- Support for:
- CPU metrics (temperature, usage, frequency)
- GPU metrics (NVIDIA) (temperature, usage, VRAM, power draw)
- Memory usage
- Storage I/O
- Network I/O
- Fan speeds
- System information
- Node.js, pnpm, npm, npx
- Linux-based operating system
- NVIDIA GPU with nvidia-smi utility installed
- lm-sensors package installed
- Clone the repository
- Install dependencies:
pnpm i
The server can be configured through the CONFIG
object in src/config.ts
. Key configuration options include:
- Server port and CORS settings
- Sensor IDs and paths
- Network interface
- System file paths
- Hardware-specific limits and thresholds
- System information
- Start the server:
npm start
- Connect to the HTTP server at
http://localhost:3000
ORhttp://<YOUR LAN IP>:3000
from remote devices
See the STRUCTURE.md file for details.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
The AGPL-3.0 ensures that:
- The source code must be made available when the software is distributed
- Modifications must be released under the same license
- Changes must be documented
- Network use counts as distribution
See the CONTRIBUTING.md file for details.