slapdash

Crates.ioslapdash
lib.rsslapdash
version0.1.5
created_at2025-06-24 16:12:59.709291+00
updated_at2025-06-30 10:19:15.097945+00
descriptionA simple dashboard server
homepagehttps://github.com/felixwatts/slapdash
repositoryhttps://github.com/felixwatts/slapdash
max_upload_size
id1724540
size147,898
Felix Watts (felixwatts)

documentation

https://github.com/felixwatts/slapdash/blob/main/README.md

README

Slapdash

Slap up a dashboard in minutes or less

Slapdash is a data dashboard that's focused on simplicity and ease of use. If you need a dashboard and you want something quick, simple and free then this is for you.

Here is a real life example

Installation

First Install Rust, then:

cargo install slapdash

Usage

Start the slapdash server:

slapdash serve &

Push data to the dashboard

All data in Slapdash is numerical and each data point is contained in a single named series.

To add a data point to a given series simply make an HTTP GET request to:

http://localhost:8080/<secret>/<series name>/<point value>

For example

curl http://localhost:8080/dDO1fgpw6LPWs3ciZCTnpdr7yaPQbzTG/cpu_temperature_c/41.45

The secret is a secret number that is generated by Slapdash and can be found in the file ~/.slapdash/config.txt.

Alternatively you can run:

slapdash push <series name> <point value>

View your dashboard

Your dashboard is online at http://localhost:8080.

Slapdash can serve multiple dashboards, each at http://localhost:8080/<dashboard name>. There is a default dashboard which is served if no dashboard name is specified.

Create a new dashboard

slapdash dashboard new my_amazing_dashboard

Edit a dashboard

Each dashboard is configured by the file ~/.slapdash/dashboards/<dashboard name>.xml. Use you favorite code editor to edit the configuration file. You should get autocomplete and validation due to the provided schema file. Changes to dashboard files take effect immediately on save.

Dashboard configuration

The dashboard configuration defines what widgets are on your dashboard and how they are arranged. There are several types of widgets and layout components:

Layout Components

Layout components arrange the widgets on your dashboard. They can contain widgets and other layout components. They may also specify default values for color, width and height of any contained widgets:

<row widget_width="3" widget_height="2" widget_color="DeepOrange">
</row>

Row

A horizontal stack of components. It can contain widgets, rows and columns.

<row>
    <!-- ... widgets -->
</row>

Column

A vertical stack of components. It can contain widgets, rows and columns.

<column>
    <!-- ... widgets -->
</column>

Widgets

Widgets display data on your dashboard. All widgets have attributes for color, width and height, which are optional.

Label

A hardcoded text display widget. Good for making titles to dashboard sections.

<label text="Hello, world!" />

Freshness

Displays the number of minutes since the last update to the given series.

<freshness series="cpu_temp_c" />

Value

A textual display of the latest value of the given series.

<value series="cpu_temp_c" />

Gauge

Displays a gauge type widget which shows the latest value of the given series relative to given maximum and minimum values.

<gauge series="cpu_temp_c" min="0" max="100 />

Line

A line chart of the history of the given series over the past 24 hours.

<line series="cpu_temp_c">
Commit count: 0

cargo fmt