dashdot Documentation

repository·main·Indexed 26 days ago

https://github.com/mauricenino/dashdot

A modern, glassmorphism-inspired server dashboard for monitoring smaller VPS and private servers. Provides a visual interface for system metrics including CPU, RAM, storage, network, and GPU. Includes guides for Docker installation, environment variable configuration for widgets and polling, and CLI commands for retrieving raw backend data.

Tokens
15.6K
Snippets
25
Records
136
Agent score
83%

What's inside dashdot

  1. Overview of Dashdot monitoring capabilities

    main

    Dashdot is a monitoring tool that gathers system information and presents it through a reactive web interface. It provides real-time overviews of the following metrics:

    • CPU: Usage, model, and core-specific performance.
    • Memory: Real-time RAM utilization.
    • Storage: Disk space across all mounted drives.
    • Network: Up/Down speeds and total data transferred.
    • GPU: Support for monitoring modern graphics cards (Note: NVIDIA support is only available via Docker).
  2. Explore Dashdot documentation project structure

    main

    The documentation application is built with Next.js and Fumadocs. Key files and routes include:

    • lib/source.ts: Contains the content source adapter code. Use the loader() function to access content.
    • lib/layout.shared.tsx: Contains shared layout options.
    • app/(home): Route group for the landing page and other primary pages.
    • app/docs: The main documentation layout and pages.
    • app/api/search/route.ts: The Route Handler responsible for search functionality.
  3. Explore dashdot documentation

    main

    For detailed setup and usage, refer to the official documentation links:

    • Installation Options: Detailed guides for Docker, docker-compose, or building from source.
    • Configuration Options: Information on how to customize the dashboard behavior and appearance.
  4. Enable GPU support in Docker

    main

    To use dash. with GPU monitoring, use the mauricenino/dashdot:nvidia image tag. This requires the --gpus all flag and setting the DASHDOT_WIDGET_LIST environment variable to include gpu in the list of desired widgets.

    docker container run -it \
      -p 80:3001 \
      -v /:/mnt/host:ro \
      --privileged \
      --gpus all \
      --env DASHDOT_WIDGET_LIST="os,cpu,storage,ram,network,gpu" \
      mauricenino/dashdot:nvidia
  5. Start the dash. dashboard

    main

    Once the build is complete, you can start the dashboard using yarn start.

    Linux: It is recommended to run with sudo -E to preserve environment variables. Windows: It is recommended to run the Command Prompt as an Administrator for the most accurate results.

    Troubleshooting Speedtest: If you encounter a speedtest-related error, you may need to accept the license by running speedtest --accept-license in your terminal before starting the dashboard.

    # Linux
    sudo -E yarn start
    
    # Windows (Cmd)
    yarn start
    
    # If speedtest license error occurs:
    speedtest --accept-license
  6. Enable GPU support in dash. using Docker Compose

    main

    To use GPU monitoring, you must use the mauricenino/dashdot:nvidia image tag and include a deploy reservation for GPU capabilities. You should also update the DASHDOT_WIDGET_LIST environment variable to include gpu in the list of widgets.

    version: '3.5'
    
    services:
      dash:
        image: mauricenino/dashdot:nvidia
        restart: unless-stopped
        privileged: true
        deploy:
          resources:
            reservations:
              devices:
                - capabilities:
                    - gpu
        ports:
          - '80:3001'
        volumes:
          - /:/mnt/host:ro
        environment:
          DASHDOT_WIDGET_LIST: 'os,cpu,storage,ram,network,gpu'
  7. Install dash. using Docker Compose

    main

    To install dash. using Docker Compose, create a docker-compose.yml file with the following configuration. This setup maps the host root directory to /mnt/host in read-only mode to allow dash. to monitor host system statistics.

    version: '3.5'
    
    services:
      dash:
        image: mauricenino/dashdot:latest
        restart: unless-stopped
        privileged: true
        ports:
          - '80:3001'
        volumes:
          - /:/mnt/host:ro