Back to Projects

Server Pulse

⭐ Featured

Server Pulse is an all-in-one system administration and monitoring platform accessible entirely through the terminal. It consolidates multiple critical administrative functions: real-time system performance monitoring, comprehensive security management, network diagnostics, container orchestration, system logs analysis, and service management - all unified in a single, responsive TUI dashboard.

Completed69
Server Pulse

Technologies

Go 1.24+ (Backend & TUI)BubbleTea (Event-driven TUI Framework)Lipgloss (Terminal Styling & Theming)Docker Moby API (Container Management & Monitoring)gopsutil (Cross-platform System Metrics)Linux System APIs (journald, syslog, /proc)Charmbracelet Libraries (UI Components & Utilities)

Project Overview

Server Pulse solves the critical problem of fragmented system administration. System administrators and DevOps teams managing complex infrastructure face multiple challenges: (1) Multiple tools required for different tasks - jump between Docker CLI, firewall tools, log viewers, and monitoring dashboards; (2) Limited accessibility in headless/SSH-only environments where graphical tools are unavailable; (3) Lack of integrated security oversight - firewall status, intrusion detection, SSL certificates, password policies scattered across different tools; (4) Difficulty tracking system health holistically - CPU, memory, I/O, network metrics not unified; (5) Complex container management without system context; (6) Time-consuming log analysis across multiple sources (journald, syslog, files). Server Pulse unifies all these functions into a single, cohesive terminal interface with real-time monitoring, built using Go, BubbleTea for TUI framework, and integrated system APIs.

Challenges

Integrating multiple complex system subsystems (firewall, intrusion detection, SSL, logs, network, Docker) into a unified interface. Real-time performance monitoring while parsing system APIs. Building responsive TUI with proper state management across multiple tabs and data sources. Handling privilege escalation (sudo) for privileged operations. Supporting multiple firewall types (UFW, firewalld, iptables, nftables) and intrusion prevention services (fail2ban, crowdsec, OSSEC, Suricata, etc). Parsing logs from multiple sources (journald, syslog, files) with filtering capabilities. Managing Docker API connections while also monitoring host system metrics. Implementing interactive shell sessions without disrupting TUI state. Terminal resize handling with complex multi-panel layouts.

Solutions

Architected modular system with separated concerns: - Performance module (CPU, Memory, I/O, System Health via gopsutil), - Security module (Firewall detection and status, Intrusion prevention service detection, SSL certificate validation), - Network module (Connectivity via ping/traceroute, Routes IPv4/IPv6, Connections, DNS), - Logs module (Journald/Syslog/File detection with multi-level filtering), - Docker integration (Moby client for container management), - and Processes module. Used BubbleTea framework for event-driven TUI architecture with panic recovery and proper terminal handling. Implemented Lipgloss for consistent styling across 8+ security and monitoring subsystems. Utilized system command parsing for firewall and intrusion detection status. Integrated gopsutil for cross-platform system metrics. Built comprehensive CLI command execution with sudo support for privileged operations. Implemented real-time ASCII graphs via asciigraph for performance visualization. Created interactive shell session management with proper terminal restoration.

Key Features

System Performance Monitoring (CPU, Memory, I/O, Load Average)
System Health Metrics (IOWait, StealTime, Context Switches, Page Faults)
Firewall Management & Status (UFW, firewalld, iptables, nftables)
Intrusion Prevention Service Detection (fail2ban, crowdsec, OSSEC, Suricata, Snort, DenyHosts, SSHGuard)
SSL/TLS Certificate Validation & Expiry Monitoring
SSH Security Configuration Management
Password Policy Enforcement
System Updates Tracking (apt, yum, dnf)
System Restart Management
Multi-source Log Aggregation (Journald, Syslog, File-based)
Advanced Log Filtering (by Time, Level, Service, Search Text)
Network Connectivity Diagnostics (Ping, Traceroute)
Route Management (IPv4 & IPv6)
Network Connection Monitoring
DNS Configuration Viewing
Docker Container Lifecycle Management (Start, Stop, Restart, Delete)
Docker Container Performance Monitoring (CPU, Memory, I/O, Network)
Docker Container Logs Streaming & Analysis
Docker Container Details (Environment, Ports, Health Status, Mounts)
Docker Compose Project Integration
Process Monitoring & Management
Interactive Shell Access within Containers
Performance Reports & Export
Responsive Terminal UI with Mouse Support
Docker Permission Validation