Skip to content

mad-bax-dev/Monitor-board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Monitoring Board πŸ“Ί

A modern monitoring dashboard for systems and services with multi-display support and responsive design.

Screenshot

Features

  • Multi-Display: Display multiple services simultaneously on one screen
  • Dynamic Tabs: Easy switching between different monitor groups
  • Grid Settings: Configurable rows and columns layout
  • Fullscreen Mode: View any monitor in fullscreen mode
  • PWA Support: Install as a native app
  • Auto Switch: Automatic tab switching
  • API Integration: Connect to external APIs for data
  • Responsive Design: Works on all screen sizes

Prerequisites

  • Docker and Docker Compose
  • Modern browser (Chrome/Edge/Firefox/Safari)
  • API endpoint for data (optional)

Quick Start

Method 1: Docker Usage (Recommended)

# Clone the repository
git clone https://github.com/mad-bax-dev/Monitor-board.git
cd monitoring-board

# Run with Docker Compose
docker-compose up -d

# Access dashboard
open http://localhost:8080

Method 2: Static Deployment

# Upload files to any static host
# GitHub Pages, Vercel, Netlify, etc.

Configuration

API Configuration

  1. Click the βš™οΈ URL button
  2. Enter your API URL
  3. Click πŸ’Ύ Save and Load

JSON API Structure

{
  "data": [
    {
      "title": "Tab Name",
      "monitor": [
        {
          "name": "Monitor Name",
          "url": "https://example.com",
          "zoom": 50,
          "width": 1
        }
      ]
    }
  ]
}

Grid Settings

  • Rows: Number of rows
  • Columns: Number of columns
  • Auto Switch: Automatic tab switching

Advanced Features

PWA Installation

  • Click the πŸ“± Install App button
  • App will be installed on your device

Fullscreen Mode

  • Click on any monitor
  • Or use the πŸ–₯️ Fullscreen button

Auto Switch

  • Enable the πŸ”„Switch button
  • Tabs will switch automatically

Project Files

monitoring-board/
β”œβ”€β”€ monitoring-board.html    # Main HTML file
β”œβ”€β”€ manifest.json           # PWA manifest
β”œβ”€β”€ sw.js                   # Service Worker
β”œβ”€β”€ logo.jpg               # App icon
β”œβ”€β”€ docker-compose.yml     # Docker configuration
β”œβ”€β”€ nginx.conf             # Nginx configuration
└── README.md              # This file

Deployment

GitHub Pages

  1. Push repository to GitHub
  2. Go to Settings β†’ Pages, select main branch
  3. Site will be available at https://username.github.io/repository-name

Vercel

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel --prod

Netlify

  1. Drag & drop files to Netlify
  2. Or use Git integration

API Endpoints

Get Data

GET /api/monitors

Sample Response

{
  "data": [
    {
      "title": "Production",
      "monitor": [
        {
          "name": "Server 1",
          "url": "https://server1.example.com",
          "zoom": 50,
          "width": 1
        }
      ]
    }
  ]
}

Advanced Configuration

CORS Headers

To display external websites, the server must send appropriate CORS headers:

add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always;
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept" always;

Security Headers

add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;

Development

Code Structure

  • HTML: Main user interface (single file)
  • CSS: Styles and responsive design (embedded)
  • JavaScript: Application logic and API calls (embedded)

Adding New Features

  1. Edit the monitoring-board.html file
  2. Test with Docker: docker-compose up -d
  3. Submit a Pull Request

Docker Commands

# Build and run
docker-compose up -d

# View logs
docker-compose logs -f

# Stop
docker-compose down

# Rebuild
docker-compose up -d --build

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see the LICENSE file for details.

Support

Changelog

v1.0.0

  • Initial release
  • Multi-display support
  • PWA support
  • API integration
  • Responsive design

Note: This project is designed for production use and follows security best practices.

About

A modern monitoring dashboard for systems and services with multi-display support and responsive design.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors