Skip to content

jmartgmz/server-dashboard-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Server Dashboard

Dashboard Page 1 Dashboard Page 2

A beautiful, lightweight personal server dashboard featuring real-time system monitoring, customizable service bookmarks, an integrated calendar, and RSS feeds.

Features

  • Live System Stats: Real-time monitoring of CPU, RAM, Temperature, Uptime, Disk Usage, and Load Average.
  • Service Bookmarks: Categorized quick-links for your most-used apps and services with live status (Online/Offline) pinging.
  • Calendar Support: Integrated calendar widget supporting multiple ICS feeds.
  • RSS Feeds: Built-in Anime and Manga feeds (with AniList cover image support).
  • Quick Search: Integrated search bar (accessible via Ctrl+K or Cmd+K) configurable for any search engine.
  • Centralized Configuration: Easily customize all aspects of the dashboard via dedicated config files.

Development / Quick Start

  1. Clone the repository and navigate to the directory:

    git clone <repository-url>
    cd server-dashboard-template
  2. Install dependencies:

    npm install
  3. Start the server (development mode with auto-reload):

    npm run dev
  4. Access the dashboard at http://localhost:6767

Production Deployment

For a production environment (like a home server or VPS), it is highly recommended to use PM2 to keep the dashboard running continuously in the background and restart automatically on system reboot.

  1. Install PM2 globally:

    npm install -g pm2
  2. Start the dashboard:

    pm2 start src/server.js --name "server-dashboard"
  3. Configure PM2 to start on boot:

    pm2 save
    pm2 startup

    (Follow the instructions provided by the pm2 startup command output)

Configuration

All configuration files are located in the config/ directory:

  • server.config.js: Change the server port.
  • services.config.js: Add, remove, or modify the main service cards and their icons.
  • bookmarks.config.js: Manage the categorized bookmarks shown on the home page.
  • search.config.js: Set your preferred search engine (e.g., Google, DuckDuckGo) and placeholder text.
  • rss.config.js: Update your RSS feed URLs and item limits.
  • calendar.config.js: Manage calendar ICS feeds directly from the UI, which writes to this file.

Tech Stack

  • Backend: Node.js, Express
  • Frontend: Vanilla HTML5, CSS3, JavaScript
  • Packages: systeminformation (Stats), node-ical (Calendar), rss-parser (Feeds), nodemon (Development)

About

A beautiful, lightweight personal server dashboard featuring real-time system monitoring, customizable service bookmarks, an integrated calendar, and RSS feeds.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors