SysTracker is a powerful, self-hosted Remote Monitoring & Management (RMM) tool for Windows fleets. Real-time telemetry, hardware inventory, process monitoring, Windows Event Logs — all on your own infrastructure.
- Real-Time Monitoring — Live ~1.5 second updates via Socket.IO across all connected agents
- Hardware Inventory — CPU, RAM modules, GPU, motherboard, disks, network adapters, serials, UUIDs
- Process Monitoring — Top processes with CPU%, RAM, and PID
- Windows Event Logs — Security and system events (login/logout, failures, service changes)
- Fleet Overview — All machines in a single dashboard with live status indicators
- Remote Actions — Restart or shut down machines remotely from the dashboard
- Profile Management — Assign names, floors, desks, asset IDs, and avatars to machines/users
- JWT Authentication — Secure admin login with token-based sessions
- Static Dashboard — Next.js exported frontend served directly by the Express server
- Easy Deployment — One-line PowerShell installer for agents; Docker support for the server
SysTracker/
├── server/ # Node.js (Express) backend — REST API, Socket.IO, SQLite
├── dashboard/ # Next.js frontend — static export served by the server
├── agent/ # Python agent — collects metrics, transmits to server
├── Docker/ # Docker Compose configurations
└── LICENSE # SysTracker Proprietary License
Open PowerShell as Administrator on any Windows machine you want to monitor:
irm https://systracker.rico.bd/install | iexThe interactive installer will prompt for your Server URL and API key, install the agent as a Windows Scheduled Task, and start it automatically.
Manual install:
.\SysTracker_Agent.exe --install --url https://your-server.com --key YOUR_API_KEYManage the agent:
# Uninstall
.\SysTracker_Agent.exe --uninstall
# Kill switch
.\SysTracker_Agent.exe --kill
# Logs at: C:\Program Files\SysTracker Agent\agent.logservices:
systracker:
image: ghcr.io/redwan002117/systracker:latest
container_name: systracker
restart: unless-stopped
ports:
- "7777:7777"
volumes:
- ./data:/app/data
- ./uploads:/app/uploads
environment:
- ADMIN_USER=admin # Optional: auto-creates admin account
- ADMIN_PASSWORD=ChangeMe! # Optional: skips Setup Wizarddocker compose up -d
# Open http://localhost:7777chmod +x systracker-server-linux
./systracker-server-linux
# Open http://localhost:7777# 1. Build the dashboard
cd dashboard && npm install && npm run build
# 2. Copy static export to server
cp -r dashboard/out/* server/dashboard-dist/
# 3. Start the server
cd server && npm install && node server.jsSysTracker includes a complete production deployment system with automation, CI/CD, and comprehensive documentation.
Local Development:
# One-command build and deploy
./scripts/deploy-dashboard.sh
# Or use keyboard shortcut: Ctrl+Shift+DRemote Production:
# Deploy to production server via SSH
./scripts/deploy-remote.sh production --restart
# Deploy to staging
./scripts/deploy-remote.sh staging --restartAutomated CI/CD:
# GitHub Actions deploys automatically on push to main
git push origin main📚 PRODUCTION_SETUP_COMPLETE.md — Production deployment overview and quick start
📘 PRODUCTION_DEPLOYMENT.md — Complete server setup guide:
- Server prerequisites and configuration
- Nginx reverse proxy with SSL (Let's Encrypt)
- PM2/systemd process management
- Security hardening and best practices
- Monitoring, logging, and backup strategies
✅ PRODUCTION_CHECKLIST.md — Pre-launch verification checklist
⚡ DEPLOYMENT_GUIDE.md — Quick deployment reference
- 🚀 One-command deployment (local or remote)
- 🌐 SSH-based remote deployment with rsync
- 🤖 GitHub Actions CI/CD automation
- 💾 Automatic backups before deployment
- 🔄 Rollback capability on failure
- 📢 Slack/Discord webhook notifications
- ✅ Automated deployment verification
- 🧪 Dry-run testing mode
Admin Dashboard (Next.js static export)
|
| REST API + Socket.IO
|
SysTracker Server (Node.js / Express + SQLite)
|
| HTTPS Agent Reports
_____|_____
/ | \
Agent Agent Agent (Windows, Python)
Configure SMTP in the dashboard under Settings > Email. Recommended provider: Brevo (generous free tier).
| Setting | Value |
|---|---|
| Host | smtp-relay.brevo.com |
| Port | 587 |
| Secure | false (STARTTLS) |
| User | Your Brevo login email |
| Password | Brevo SMTP API key |
To expose the server securely without opening firewall ports:
cloudflared tunnel run --url http://localhost:7777 systrackerPoint agents to your public domain: https://monitor.yourdomain.com
# Agent (Python)
cd agent
pip install -r requirements.txt
pip install pyinstaller
pyinstaller SysTracker_Agent.spec # outputs dist/SysTracker_Agent.exe
# Dashboard (Next.js)
cd dashboard
npm install
npm run dev # development server on :3000
npm run build # static export to out/
# Server (Node.js)
cd server
npm install
node server.js # runs on :7777To sign Windows executables for release:
-
Generate certificates (Windows only):
.\scripts\create-codesign-cert.ps1
-
Add GitHub Secrets:
CODESIGN_PFX_BASE64— Base64-encoded PFX (from script output)CODESIGN_CA_BASE64— Base64-encoded CA cert (optional but recommended)CODESIGN_PFX_PASSWORD— PFX password (if you set one)
-
Test: Push a tag to trigger the release workflow with code signing enabled.
📚 Full Guide: docs/CODE_SIGNING_SETUP.md
⚡ Quick Reference: docs/CODE_SIGNING_QUICK_REF.md
SysTracker Proprietary License — Personal and non-commercial use is permitted free of charge. Commercial use, redistribution, or hosting as a service requires written permission from the author.
See LICENSE for full terms. Copyright (c) 2026 SysTracker / RedwanCodes.