Skip to content

System Stats & Management

Overview

How do I run DietPi-Software and install optimised software items?

To install any of the DietPi optimised software items listed below run from the command line:

dietpi-software

Choose Browse Software and select one or more items. Finally select Install.
DietPi will do all the necessary steps to install and start these software items.

DietPi-Software menu screenshot

To see all the DietPi configurations options, review the DietPi Tools section.

Return to the Optimised Software list

DietPi-Dashboard

DietPi-Dashboard is a very lightweight and standalone web interface for monitoring and managing your DietPi system with your favourite web browser. It is written in Rust. An overview of its features is given by our article here.

DietPi-Dashboard screenshot

DietPi-Dashboard is still in Beta!

We hence do not recommend to actively use it on sensitive production systems yet.

DietPi-Dashboard is accessible by default at TCP port 5252:

  • URL: http://<your.IP>:5252
  • Password: <your software password> (default: dietpi)

The DietPi-Dashboard executable and its configuration file can be found at:

/opt/dietpi-dashboard

The configuration file is located at:

/opt/dietpi-dashboard/config.toml

When doing changes, you need to restart the service afterwards:

systemctl restart dietpi-dashboard

Password protection is enabled by default from DietPi v7.9 on. If you installed it before, you’ll need to enable it via configuration file. For this, create a SHA512 hash of the PASSWORD you want to use for logging into the web interface, and a random 64-character secret which is used to generate a token to transfer and store securely in your browser. Apply those to the configuration file and restart the service for the changes to take effect:

hash=$(echo -n 'PASSWORD' | sha512sum | mawk '{print $1}')
secret=$(openssl rand -hex 32)
G_CONFIG_INJECT 'pass[[:blank:]]' 'pass = true' /opt/dietpi-dashboard/config.toml
GCI_PASSWORD=1 G_CONFIG_INJECT 'hash[[:blank:]]' "hash = \"$hash\"" /opt/dietpi-dashboard/config.toml
GCI_PASSWORD=1 G_CONFIG_INJECT 'secret[[:blank:]]' "secret = \"$secret\"" /opt/dietpi-dashboard/config.toml
unset -v hash secret
systemctl restart dietpi-dashboard

To change the password, just replace the hash in the config file and restart the service.

If you want to force a logout of all browsers without changing the password, you can instead change the secret. Generate an apply a new secret to the configuration file and restart the service. Every client and browser will then need to login again to continue using the DietPi-Dashboard, as the stored token that is based on password and secret has been invalidated.

From DietPi v8.0 on, you can install DietPi-Dashboard as backend only node, with does not include an own web interface. Such backend only nodes can then be accessed from another full DietPi-Dashboard frontend/web interface. Additional nodes would need to be added manually into configuration file located at:

/opt/dietpi-dashboard/config.toml

When doing changes, you need to restart the service afterwards:

systemctl restart dietpi-dashboard

Full DietPi-Dashboard nodes with frontend included can currently not be accessed from other frontends.

DietPi-Dashboard by default is started as systemd service and can hence be controlled with the following commands:

systemctl status dietpi-dashboard
systemctl stop dietpi-dashboard
systemctl start dietpi-dashboard
systemctl restart dietpi-dashboard

Service logs can be reviewed with the following command:

journalctl -u dietpi-dashboard

You can easily update DietPi-Dashboard by reinstalling it and restarting the service for the change to take effect:

dietpi-software reinstall 200
systemctl restart dietpi-dashboard

Source code: ravenclaw900/DietPi-Dashboard
License: GPLv3

DietPi-CloudShell

DietPi-CloudShell turns your console or LCD screen into a lightweight system stats display.

Sample screenshots

The following screenshots shall give an overview over the displaying features of DietPi-CloudShell.

DietPi-CloudShell CPU usage dialog

DietPi-CloudShell memory usage dialog

DietPi-CloudShell storage details dialog

DietPi-CloudShell network details dialog

DietPi-CloudShell Pi-hole dialog


YouTube video tutorial: DietPi CloudShell (RPi / Odroid XU4)

Configuration

Launch the DietPi-CloudShell control panel:

dietpi-cloudshell

DietPi-CloudShell main menu

DietPi-CloudShell offers scenes with predefined display outputs resp. layouts.
Scenes are configured in the Scenes dialog within dietpi-cloudshell.

DietPi-CloudShell scenes menu

This feature will allow you to automatically power down the screen and disable DietPi-CloudShell processing during a specific time.
Please note this feature requires DietPi-CloudShell to be launched with dietpi-autostart, or run dietpi-cloudshell from the main screen (tty1).
If you make changes to DietPi-CloudShell over SSH, once saved, please reboot the system to ensure this feature becomes activated.

Power saving: Auto screen off

Touchscreen support

See https://www.waveshare.com/3.2inch-rpi-lcd-b.htm.
This is available for all Raspberry Pi and Odroid versions. DietPi will automatically configure your system for the device.
Simply run dietpi-config, select Display Options, then select waveshare32.
After a reboot, your Waveshare32 will become active.

DietPi-CloudShell on Waveshare32 touchscreen photo

See https://www.hardkernel.com/shop/c1-3-2inch-tfttouchscreen-shield/.
This is available for all Odroid versions. DietPi will automatically configure your system for the device.
Simply run dietpi-config, select Display Options, then select odroid-lcd35.
After a reboot, your Odroid 3.5 LCD will become active.

DietPi-CloudShell on Odroid 3.5 LCD photo

The display feature of DietPi-CloudShell works generally with any LCD display or monitor with a resolution of at least 320x240 pixels.

Linux Dash

Linux Dash allows you to monitor your system stats from a web page.

Linux Dash web interface screenshot

The web interface of Linux Dash can be accessed via:

  • URL = http://<your.IP>/linuxdash/app

Official documentation: https://github.com/afaqurk/linux-dash/wiki

phpSysInfo

Allows you to monitor your system stats from a web page. The display output can be customized via an .ini file.

phpSysInfo web interface screenshot

The web interface of phpSysInfo can be accessed via:

  • URL = http://<your.IP>/phpsysinfo

This is done via the file phpsysinfo.ini which is located in the phpSysInfo main directory (typical /var/www/phpsysinfo). An example file phpsysinfo.ini.new is present and gives inline information about all configuration options. Just walk through this file and discover all these bells an whistles.


Official website: https://phpsysinfo.github.io/phpsysinfo

RPi-Monitor

RPi-Monitor is a slick, lightweight system stats monitor with web interface.

RPi-Monitor web interface screenshot

The main features of RPi-Monitor are:

  • Collecting, storing and presenting metrics
  • It’s flexibly configurable
  • It’s user extendable
  • Metrics sharing can be done via JSON file or via SNMP
  • Alert option

The web interface is accessible via port 8888:

  • URL = http://<your.IP>:8888

Official website: XavierBerger/RPi-Monitor.

Netdata

Netdata is a slick and feature-rich system stats monitor, with web interface.

Netdata web interface screenshot

The web interface is accessible via port 19999:

  • URL = http://<your.IP>:19999

Depending on your system, by default Netdata might be not accessible from remote browsers. If this is the case, open the configuration file
/etc/netdata/netdata.conf
and change the line
bind socket to IP = 127.0.0.1
to match either the local network IP or static public IP of your DietPi server depending on your needs. Alternatively comment it e.g. if your server does not have a static public IP but you require remote access. But note that an unprotected publicly accessible Netdata web interface is a potential security risk. Head over to the “Security hardening” tab to learn more about how to restrict access to Netdata.

Once saved, you will need to restart the service to implement the changes by entering the below into the terminal:

systemctl restart netdata

Note that having Netdata accessible to anyone gives potential attackers a bunch of useful information where to start hacking.
To learn about how to limit access to Netdata, please refer to their documentation regarding the configuration of access lists.


Official documentation: https://learn.netdata.cloud/docs/overview/what-is-netdata
Wikipedia: https://wikipedia.org/wiki/Netdata

Webmin

Webmin is a web-based feature-rich remote system management tool. Many system settings can easily be set using the web interface dialogues.

Webmin interface screenshot

The web interface is accessible via port 10000:

  • URL = https://<your.IP>:10000
  • Username = root
  • Password = <your software password> (default: dietpi)
Use HTTPS

Please ensure https:// URL is typed, http:// won’t work!

The Webmin system logging panel still depends on a classical file logger, like Rsyslog. However DietPi will not impose this logging overhead on systems by default. If you need to see system logs via the Webmin online panel, you can either configure a custom syslog daemon or install Rsyslog manually:

apt install rsyslog

DietPi comes with systemd and the related journald system logger, which can be accessed via the command journalctl.


Official website: https://webmin.com/

Wikipedia: https://wikipedia.org/wiki/Webmin

K3s

Lightweight Kubernetes - The certified Kubernetes distribution built for IoT & Edge computing

K3s logo

The default installation of K3s creates a single-node cluster. If you want to have a multi-node setup, you need to configure the nodes to speak to the others.

In /boot/dietpi.txt, edit the SOFTWARE_K3S_EXEC parameter to set command (server or agent). You can add other command-line parameters after the command.

Example:

SOFTWARE_K3S_EXEC=server --disable=local-storage

If you need to add many command-line parameters, it is recommended to put them in a file instead, keeping only the command (server or agent) in /boot/dietpi.txt. During installation, if /boot/dietpi-k3s.yaml exists, it is copied to /etc/rancher/k3s/config.yaml, and used by K3s. The format of this file is documented in the K3s docs.

When running in server mode, K3s generates a kubeconfig file at /etc/rancher/k3s/k3s.yaml. Copy this to your client machine, and edit the server setting to point to the hostname of the server.

Place the file in the default location (~/.kube/config), or point to it using the KUBECONFIG environment-variable.

You should now be able to interact with your Kubernetes cluster using kubectl:

kubectl get nodes
kubectl get pods -A
  • Service: journalctl -u k3s

Official website: https://k3s.io
Official documentation: https://rancher.com/docs/k3s/latest/en/
Source code: k3s-io/k3s
License: Apache 2.0

MicroK8s

High availability - Low-ops, minimal production Kubernetes, for developers, cloud, clusters, workstations, Edge and IoT.

MicroK8s logo

To create a cluster out of two or more already-running MicroK8s instances, use the microk8s add-node command:

microk8s add-node

From the node you wish to join to this cluster, run the following:

microk8s join 192.168.1.230:25000/92b2db237428470dc4fcfc4ebbd9dc81/2c0cb3284b05

Use the --worker flag to join a node as a worker not running the control plane, e.g.:

microk8s join 192.168.1.230:25000/92b2db237428470dc4fcfc4ebbd9dc81/2c0cb3284b05 --worker

For most commands, you can use microk8s in front like below.

microk8s kubectl get nodes
microk8s kubectl get napspaces

MicroK8s does provide a few “addons”, which can be seen below with the enable and disable command.

microk8s status # to view the addons
microk8s enable dns # to enable addons
microk8s enable dashboard # to enable Kubernetes dashboard

Per-node log files can be in:

/var/log/pods

Official website: https://microk8s.io/
Official documentation: https://microk8s.io/docs
Addons documentation: https://microk8s.io/docs/addons
Source code: ubuntu/microk8s
License: Apache 2.0

Return to the Optimised Software list