This project is a simple web server that displays system information about your Raspberry Pi.
The information includes generic board info, CPU details (model, architecture, number of cores, frequency, voltage, temperature, usage), RAM (total, used, free, cache, available), network interfaces (ip, mac), mounted disks and processes running in the system.
Some information is parsed from the device's revision code located in /proc/cpuinfo.
Information about disks and processes is presented in the form of tables. You can sort the tables by clicking on the column in the header.
The web server is based on Flask framework. By default the application will run on port 8080. It can be changed in env file.
Gunicorn is used to launch.
Clone repository:
git clone https://github.com/Nkeramov/raspberry_pi_system_info.gitSwitch to repo directory
cd raspberry_pi_system_infoСreate new virtual environment:
python -m venv .venv Activate the virtual environment with the command:
source .venv/bin/activateInstall dependencies from the requirements file:
pip install -r requirements.txtRun with command:
gunicorn --bind 0.0.0.0:8080 main:appOr use a launch script run.sh, making it executable first
chmod +x run.shThe configuration file is located in the .env file. You can copy the env.example to .env and make your edits.
cp env.example .envYou can set up automatic script launch at system startup.
Open the /etc/rc.local file in editor:
sudo nano /etc/rc.localAdd to the end of file this line:
/home/pi/raspberry_pi_system_info/run.sh &Press Ctrl+O → Enter → Ctrl+X to save and exit.
If you want to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push to your fork and create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
