Skip to content

cbulock/server-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Server Dashboard

Small, local-only dashboard for tracking servers via SNMP. Built with Vue 3 + Vite, Node/Express, and a JSON datastore.

Features

  • Add/edit servers (host, SNMP community, version, port)
  • Live SNMP polling for hostname, uptime, memory, disk
  • Local JSON storage for config + last stats (no native build deps)
  • Single Docker container deployment

Server Dashboard example

Requirements

  • SNMP enabled on each host (QNAP, Unraid, Ubuntu, etc.)
  • SNMP community string configured and reachable from this dashboard host

Local dev

From the repo root:

cd server
npm install
npm run dev

In another terminal:

cd web
npm install
npm run dev

Vite dev server will proxy /api to http://localhost:3000.

Docker

Build and run:

docker compose up --build

Open http://localhost:3000.

Docker (GHCR)

Pull and run the published image:

docker run -d \
  --name server-dashboard \
  -p 3000:3000 \
  -v server-dashboard-data:/data \
  ghcr.io/cbulock/server-dashboard:latest

Open http://localhost:3000.

Background polling

The API service polls SNMP on a schedule inside the container (default: every 6 hours). Override with minutes (minimum 1):

docker run -d \
  --name server-dashboard \
  -p 3000:3000 \
  -v server-dashboard-data:/data \
  -e POLL_INTERVAL_MINUTES=360 \
  ghcr.io/cbulock/server-dashboard:latest

Config storage

  • JSON database stored under /data/db.json inside the container.
  • Data persists via the server-dashboard-data Docker volume.

SNMP notes

The dashboard uses standard Host-Resources MIB OIDs to get memory and storage totals. If a device reports storage differently, you may still see partial data for memory/disk.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors