Skip to content

Repository files navigation

Homelab-Command-Center

A modern, fast, modular web-based Command Center for home servers, homelabs, Linux VPS, and multi-service server orchestration.

Designed to work dynamically out of the box on any Linux distribution with zero hardcoded paths or environment-specific dependencies.

Homelab-Command-Center Dashboard Preview

Version v1.1.0 Watchdog Auto-Healing Local AI Python 3.10+ License


Features

  • Interactive Spotlight Command Palette (Ctrl+K / /): 0ms-latency instant keyboard command switcher across automation scripts, Docker containers, system actions, and view tabs with scope filtering (All, Scripts, Services, Actions).

  • Spring Physics & Fluid Navigation: Apple HIG & Emil Kowalski craft-inspired sliding active pill indicator with physical spring easing and skeleton loading states for zero layout shift.

  • Synthesized Tactile Audio Feedback: Pure Web Audio API synthesizer generating subtle, crisp feedback clicks for interface interactions, with one-tap toggle controls and state persistence.

  • Hold-to-Reboot Safety Protection: 1.5-second clip-path animated press-and-hold safety confirmation for system reboots and critical operations to prevent accidental clicks.

  • Live Telemetry & 24-Hour DNS Bandwidth Tracking: Real-time CPU, thermal temps, RAM, multi-mount storage, network bandwidth throughput, and 24-hour DNS query metrics (Pi-hole & AdGuard Home) with saved bandwidth calculation.

  • Diagnostics Timeline & Visual Failure Snapshots: Chronological execution history and failure logs with comprehensive captured terminal states, exit codes, execution durations, and interactive snapshot inspection modals.

  • Storage Forecaster & SMART Analytics: Physical block-device I/O telemetry, SMART health grading, linear predictive capacity forecasting, and dynamic storage capacity breakdown across media, archives, and system volumes.

  • Automated Watchdog Auto-Healing: Configurable background health monitor that tracks homelab containers and core systemd daemons, automatically performing self-healing restarts upon failure with clearable incident history.

  • Script Runner & Visual Crontab Scheduler: One-click execution with confirmation modals and real-time status; link existing system scripts (.sh, .py, binaries) with live host auto-discovery or write new scripts, edit per-day visual crontab schedules, and execute batch tasks.

  • Dynamic Network & UFW Security: Auto-detects live IPv4 network interfaces, inspects real-time UFW firewall status, and displays active listening ports mapped to standard network services.

  • Container & Service Orchestration: Auto-discovered running Docker containers with port mapping, live status, start/stop/restart controls, and systemd service supervision.

  • Event-Driven Automation Pipelines: Chain multi-step actions on script completion or failure, with external webhook receiver endpoints (/api/pipelines/webhook/<token>).

  • Local AI Ops & Ollama Hub: GPU-accelerated LLM management (pull/list/delete), 1-click log error diagnostics, and an integrated server ops copilot.

  • Storage Explorer & Snapshot Backup Engine: Filesystem browser with previews, 1-click compressed .tar.gz backup creation, and point-in-time snapshot restore.


Quick Start

1. Clone the repository

git clone https://github.com/lZXGl/Homelab-Command-Center.git
cd Homelab-Command-Center

2. Install dependencies

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

3. Configure environment (Optional)

cp .env.example .env
# Edit .env to customize PORT, STORAGE_BASE, or binary paths if needed

4. Run the dashboard

python3 app.py

Open http://<server-ip>:5000 in your browser.


Architecture

Homelab-Command-Center/
├── app.py                     # Flask application entrypoint
├── config.py                  # Core configuration & dynamic environment loader
├── cron_runner.py             # Crontab execution wrapper & history logger
├── update_all_system.sh       # Automated system & package updater
├── requirements.txt           # Python dependencies
├── .env.example               # Environment variables template
├── routes/                    # Modular blueprint endpoints
│   ├── main.py                # Dashboard UI & kiosk mode serving
│   ├── scripts.py             # Script management, batch runner & logs
│   ├── homelab.py             # Docker containers & watchdog endpoints
│   ├── system.py              # Telemetry, services, updates & network
│   ├── storage.py             # Visual storage explorer
│   ├── backup.py              # Snapshot backup & rollback engine
│   ├── pipelines.py           # Event-driven pipeline workflows
│   ├── ai_ops.py              # Local Ollama AI & copilot endpoints
│   ├── smart_storage.py       # SMART device telemetry & forecaster
│   └── opencode.py            # Terminal & Web IDE integration
├── services/                  # Business logic engines
│   ├── system_monitor.py      # Telemetry, uptime, temperatures & DNS
│   ├── process_manager.py     # Active tasks, execution history, alerts
│   ├── homelab_manager.py     # Docker auto-discovery & container control
│   ├── watchdog_manager.py    # Automated daemon/container watchdog
│   ├── cron_manager.py        # System crontab parser & editor
│   ├── backup_manager.py      # Tar.gz archive & snapshot manager
│   ├── automation_pipeline.py # Pipelines engine & webhook dispatcher
│   ├── ai_ops_manager.py      # Local Ollama LLM inference & diagnostics
│   ├── smart_storage_manager.py # Block device health, forecasting & scanner
│   └── opencode_manager.py    # Web IDE process supervisor
├── scripts/                   # Bundled maintenance scripts
│   ├── health_check.py        # System load, disk & memory verification
│   ├── docker_cleanup.py      # Docker prune & container maintenance
│   └── backup_task.py         # Daily snapshot verification
├── static/                    # Shaders, JS, CSS and static assets
├── systemd/                   # Systemd unit template
│   └── homelab-command-center.service.example
└── templates/
    ├── index.html             # Full-featured single-page dashboard UI
    └── lite.html              # Ultra-fast kiosk & mobile lite UI

Systemd Service (Auto-start on Boot)

To run Homelab-Command-Center as a systemd background service:

sudo cp systemd/homelab-command-center.service.example /etc/systemd/system/homelab-command-center.service
sudo nano /etc/systemd/system/homelab-command-center.service   # Adjust User and WorkingDirectory
sudo systemctl daemon-reload
sudo systemctl enable --now homelab-command-center.service

Configuration & Customization

All paths and service integrations are fully dynamic and can be configured via environment variables:

Variable Default Description
PORT 5000 Web dashboard listening port
HOST 0.0.0.0 Bind IP address
PRIMARY_IP Auto-detected LAN IP address for dashboard links
STORAGE_BASE /mnt/storage Base mount path for storage distribution scanner
SCRIPTS_DIR ./scripts Directory for managed executable scripts
SCREENSHOTS_DIR ./screenshots Directory for saved failure screenshots
BACKUPS_DIR ./backups Directory for generated .tar.gz backups
OLLAMA_URL http://localhost:11434 Ollama API endpoint for AI Ops

License

Released under the MIT License.

About

A modern, web-based homelab command center and server dashboard. Live telemetry, Docker orchestration, watchdog auto-healing, local Ollama AI, Spotlight palette (Ctrl+K), and tactile audio.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages