SysMon is a gamified server monitoring tool that visualizes your system health through a Tamagotchi-like creature. Instead of boring graphs, keep your server pet happy to ensure your system is running smoothly!
The easiest way to run SysMon is via Docker Compose.
# 1. Clone the repository
git clone https://github.com/PeterPage2115/SysMon.git
cd SysMon
# 2. Start the container
docker-compose up -d
# 3. Access the WebUI
# Open http://localhost:8000 in your browser
For Unraid or custom Docker setups, make sure to map the necessary volumes to get accurate host metrics.
The included docker-compose.yml is pre-configured with:
pid: host (Required for real host CPU/RAM metrics)/var/run/docker.sock (Required for container monitoring)/mnt/user (Example path for disk monitoring)Unraid Users: Simply run docker-compose up -d and access http://YOUR-UNRAID-IP:8001.
You can configure the application using environment variables in your docker-compose.yml:
| Variable | Default | Description |
|---|---|---|
DISK_PATH |
/ |
The file system path to monitor for disk usage info. Unraid users: set this to /mnt/user. |
PORT |
8000 |
The internal port the application listens on. |
Your Tamagotchi's mood is a direct reflection of your server's health:
| Mood | Condition | Resource Usage |
|---|---|---|
| 😊 Happy | Healthy | Low usage (< 50%) |
| 😐 Neutral | Okay | Moderate usage (50-80%) |
| 😰 Stressed | Warning | High usage (80-95%) |
| 🤒 Critical | Critical | Overloaded (> 95%) |
Gameplay: Feed your pet to gain XP! Higher levels unlock... bragging rights (for now).
SysMon provides a REST API for integrations:
| Endpoint | Method | Description |
|---|---|---|
/api/health |
GET |
Health check with version info |
/api/stats |
GET |
Current system statistics (CPU, RAM, Disk, Docker) |
/api/tamagotchi |
GET |
Current Tamagotchi state (Level, XP, Mood) |
/api/tamagotchi/rename?name=X |
POST |
Rename your pet |
/api/tamagotchi/feed |
POST |
Feed your pet (+10 XP) |
/ws |
WS |
WebSocket for real-time updates |
Future plans for SysMon:
If you want to contribute or modify the code:
# 1. Backend Setup
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload
# 2. Frontend Setup
cd frontend
npm install
npm run dev
Distributed under the MIT License. See LICENSE for more information.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)