Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/femto-code/Raspberry-Pi-Dashboard
Web-App Dashboard to monitor Raspberry Pi hardware and software status. Nothing more than Webserver + PHP required.
https://github.com/femto-code/Raspberry-Pi-Dashboard
dashboard monitoring php raspberry raspberry-pi raspberry-pi-dashboard raspberrypi reboot rpi rpi-dashboard rpi-hardware shutdown web-app web-application web-interface
Last synced: 7 days ago
JSON representation
Web-App Dashboard to monitor Raspberry Pi hardware and software status. Nothing more than Webserver + PHP required.
- Host: GitHub
- URL: https://github.com/femto-code/Raspberry-Pi-Dashboard
- Owner: femto-code
- License: gpl-3.0
- Created: 2020-06-16T10:44:24.000Z (over 4 years ago)
- Default Branch: release
- Last Pushed: 2024-06-26T12:52:43.000Z (5 months ago)
- Last Synced: 2024-11-05T07:03:11.675Z (7 days ago)
- Topics: dashboard, monitoring, php, raspberry, raspberry-pi, raspberry-pi-dashboard, raspberrypi, reboot, rpi, rpi-dashboard, rpi-hardware, shutdown, web-app, web-application, web-interface
- Language: PHP
- Homepage:
- Size: 2.63 MB
- Stars: 269
- Watchers: 9
- Forks: 26
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
![Intro](img/logo.png?raw=true "Raspberry Pi Dashboard - Project Logo")
View and manage your Pi system through your web browser!Written in plain HTML5, CSS3, JavaScript and PHP (backend). No extra software required!
Report a bug | Request a new feature | Help develop this project
## Features
- Live surveillance of RPi hardware (CPU temperature, frequency, load etc.) with customizable warning thresholds
- Detailed software/hardware information (web server, PHP, storage / partition workload, core voltage, plugged USB devices, kernel version, model specifications, OS, CPU, network config)
- Protected access with password login ([configure password](https://github.com/femto-code/Raspberry-Pi-Dashboard#configure-password-manually))
- Shutdown / Reboot your Raspberry Pi with scheduling options ([setup instructions](https://github.com/femto-code/Raspberry-Pi-Dashboard#enable-shutdown--reboot-optional))
- Responsive mobile web app
- Dark Theme (manual / auto)### 🆕 Use the installer script to set up the dashboard!
## Screenshots
![Preview](img/preview.png?raw=true "Preview of dashboard in a web browser")
| Mobile Light Theme | Mobile Dark Theme |
|:-------------------------------------------------:|:-----------------------------------------------:|
| ![](img/m2.png?raw=true) | ![](img/m1.png?raw=true) |## Use installer script (alpha)
```bash
wget -O install.sh https://github.com/femto-code/Raspberry-Pi-Dashboard/raw/release/installer.sh
bash install.sh
```## Manual download and installation
### Prerequisites
- Running web server (e.g. *Lighttpd* or *Apache*) with *PHP* installed
- Installed *Git* (comes preinstalled on Raspberry Pi OS / formerly Raspbian as well as other Linux distros)
- Valid permissions set within `/var/www/html`#### Valid permissions
The following configuration is the commonly recommended set-up for your web server folder and is meant to be secure to a certain level (with the **minimum** need of permissions):
1. Make sure `www-data` group exists and add your current user to that system group:
_(if you are using another distro than Raspberry Pi OS the username of web server can differ)_
`sudo groupadd www-data`
`sudo usermod -a -G www-data www-data`
`sudo usermod -a -G www-data ` (replace `` with your username)1. Give the ownership of web folder to the `www-data` group and *your* user.
The following commands ensure that you have _full_ access on the files within the web folder while group members (`www-data`) cannot edit/write for security reasons:
`sudo chown -R :www-data /var/www/html` (replace `` with your username)
`sudo chmod -R 755 /var/www/html`3. Reboot your RPi or log out and back in (for permission changes to take effect)
### Setup project
- clone the project into your web folder:
`git clone https://github.com/femto-code/Rasberry-Pi-Dashboard.git /var/www/html/`
(replace `` with a name of your choice accordingly, you can also rename this base folder at any time afterwards)
- ***Alternatively*** download this repo as a ZIP file and extract it
- Run in a terminal to set valid permissions:
- `sudo chown -R :www-data /var/www/html/`
(replace `` with your username)
- `sudo chmod -R 775 /var/www/html/`
- this will allow the `www-data` user exclusively to write/edit (7**7**5) files **only in your dashboard folder**!
> An erroneous permission typically results in the situation where the user responsible for web server (e.g. `www-data`) does not have rights to create/modify the local config file for saving your dashboard adjustments (your custom thresholds, password etc.). In this case, the dashboard won't work at all and will throw this error.
- **DONE!** Open web browser with URL: `http:///`## Additional configuration / Help
#### Display core voltage (or other hardware info) output (optional)
- If you want to see advanced hardware information (core voltage, advanced model information) on your dashboard instance:
- run in a terminal: `sudo usermod -aG video www-data`
>If you do not use Raspberry Pi OS, but e.g. Ubuntu, you do have to install `libraspberrypi-bin` by running `sudo apt install libraspberrypi-bin`.##### Background
The `vcgencmd` command (specifically dedicated to RPi firmware) is a system command that requires certain hardware rights. Therefore one has to grant this particular right (to read hardware info) to e.g. `www-data` (under which web server is running). This is achieved by adding this user to a designated system group called *video*, which the standard user pi is part of by default.
- only comes preinstalled on *Raspberry Pi OS*
- in case of problems: please comment on [#12](https://github.com/femto-code/Raspberry-Pi-Dashboard/issues/12) (or [new issue](https://github.com/femto-code/Raspberry-Pi-Dashboard/issues/new))#### Enable shutdown / reboot (optional)
> Recommended only, if your RPi is **not** accessible from outside your local (LAN) network!
In order to use the remote shutdown functionality you have to give the user `www-data` advanced rights for running one specific command:
1. Run `sudo visudo` to open the editor for adjusting user rights
2. **Be careful what you change here!**
Just add the following at the **end** of the file:
`www-data ALL=NOPASSWD: /sbin/shutdown`
3. **Reboot** your RPi to enable shutdown from another device (connected to same local network as your RPi).#### Configure password (manually)
- Please be aware that there is a **more user-friendly** way now by using the dashboards options modal. However, the following manual way of changing the password might be helpful
- in case of wrong permissions (user `www-data` cannot change settings for you - [see issue #22](https://github.com/femto-code/Raspberry-Pi-Dashboard/issues/22) or [read here](https://github.com/femto-code/Raspberry-Pi-Dashboard#valid-permissions) for help and instructions to solve)
- forgotten password (and access to dashboard therefore impossible)1. Go to [https://www.md5-generator.de/](https://www.md5-generator.de/) and generate *MD5 encrypted passphrase*.
2. Open `local.config` or create it and apply your custom passphrase string (generated in **step 1**) as follows (don't alter other lines):
```
[...]
'general' =>
array (
[...]
'pass' => 'YOUR_MD5_PASSPHRASE_HERE',
[...]
),
[...]
```> **As always**: Make sure to change the default password (which is **root**) and choose a more secure one at first setup and consider more security if your dashboard is accessible on the network.
## License
[**GPL-3.0**](LICENSE).
---
`Raspberry Pi and the Raspberry Pi Logo are registred trademarks of the Raspberry Pi Foundation`