KKDash is a lightweight and fast dashboard for Linux systems, designed to display basic system state information in a modern and clear way. Perfect for those who need a quick overview of system parameters without heavy resource usage. ⚡
- ⚡ CPU Monitor: Real-time CPU usage overview along with model and core count.
- 💎 Memory Management: Clear RAM usage status.
- 🛠️ System Services: Status overview of key system services.
- 📂 Data Archives: Information about mounted file systems and available space.
- 📦 Docker Containers: List of running containers and their status. (Hidden if Docker is not installed on the system)
- 🔥 Firewall Intelligence (UFW): Statistics on blocked traffic, including top attacking IPs and target port distribution. Includes quick RIPE database lookup links (🔍). (Auto-hidden if UFW is inactive)
- 🛡️ Intrusion Prevention (Fail2Ban): Detailed statistics on banned IPs (monthly and current) and jail distribution chart. Includes RIPE lookup links. (Auto-hidden if Fail2Ban is inactive)
- 👤 Active Operators: Overview of users currently logged into the system.
- ⏱️ System Uptime: Information on how long the system has been running.
To install KKDash as a system service, follow these steps (requires root/sudo privileges):
- Clone github repo and run the installation script:
sudo ./setup_service.sh install
The script automatically:
- Creates the
/opt/kkdash/bin(for logic) and/opt/kkdash/www(for web files) directories. - Copies project files to appropriate locations.
- Checks for Python 3 presence.
- Sets up and starts a
systemdservice namedkkdash.service.
If you have made changes to monitor.py, index.html, or style.css and want to apply them to the installed version, run:
sudo ./setup_service.sh upgradeThis command copies the updated files to /opt/kkdash/bin and /opt/kkdash/www and restarts the service.
To completely remove KKDash and its service, run:
sudo ./setup_service.sh uninstallYou can customize the data update frequency by modifying the monitor.py file:
- Open
monitor.py. - Change the values to your preferred settings:
REFRESH_INTERVAL = 5 # Refresh interval in seconds CHECK_SERVICES = ["docker", "libvirtd"] # Services to monitor
- Restart the service to apply changes:
sudo systemctl restart kkdash.
The /opt/kkdash/www directory contains static files and a data.json file generated every 5 seconds. To view the dashboard in your browser, you need to serve this directory using a web server.
The fastest way to run the interface using a lightweight Nginx image:
# via docker
sudo docker run -d \
--name kkdash-web \
--restart always \
-v /opt/kkdash/www:/usr/share/nginx/html:ro \
-p 8080:80 \
nginx:alpine
# or via docker compose
cd /opt/kkdash && docker compose up -dThe dashboard will be available at: http://localhost:8080
If you prefer a traditional approach, configure your web server to serve files from the /opt/kkdash/www directory. Remember to grant appropriate read permissions to the web server user.
- 📄 License: GPL-3.0 license.
- 🙌 Author: Kamil Kobak
- 🐧Open Source > Everything
