A Raspberry Pi management WebApp
PiDash is a remote web server management application that allows a user to view server hardware measurements as well as manage applications running on the server.
- Server health monitoring on PiDash page
- Remote WebApp management through Server Manager page
- User account security features. Ability to create accounts and admins.
-
Clone Repository
git clone https://github.com/Jayx239/PiDash.git
-
Navigate to project root directory
cd ./PiDash/node/
-
Build project
make all
-
Create configuration files by running configurator
- Requires python, tested for v2.x.x or v3.x.x
make configurator
- File Formats
sql.config -
{ "host": "<Db_Host_IP(ie:localhost)(optional)>", "password": "<database_user_password>", "user": "<database_username>", "database": "<database_name>" }
server.config -
{ "ip": "<host_address(optional)>", "port": "<port_no>" }
session.config -
{ "secret": "<random secret string>", "sessionTimeout": "<length of session in ms>", "activeDuration": "<if expiresIn < activeDuration, extend by this in ms>" }
-
Create Database
# Navigate to config directory cd config/ # Run config file node ConfigureSql.js
-
Create default admin
# Navigate to config directory cd config/ # Run CreateDefaultAdmin.js node CreateDefaultAdmin.js
In the project node directory run:
node index.js
-
Registering
- Navigate to url:port/LogonRegister/Register
- Enter in registration details.
- Submit details
-
Logging in:
- Navigate to url:port/LogonRegister/Logon
- Enter user credentials
- Submit details
-
After Logon
- Dashboard (default page)
- url:port/Dashboard
- A basic dashboard with drag and drop angular apps for monitoring server memory usage and cpu usage. Apps are draggable.
- Server Manager
- url:port/ServerManager
- Requires Admin Privileges
- A management page for running and monitoring web apps running on the server.
- Run remote commands on server.
- Run web apps and monitor the log printed to stdout and stderr.
- Execute web app commands.
- Changing password
- Navigate to Account page from the top menu.
- Enter password details.
- Click reset
- Granting admin privileges (Requires granting account to be an admin account)
- Navigate to Account page from top menu
- Enter desired admin username in'New Admin' field
- Click Submit
- Revoke admin privieges
- Navigate to Account page from top menu
- Click 'Revoke My Privilege' button
- Dashboard (default page)
Notes:
-
This application depends on MySQL 5.x authentication support. If you upgrade to MySQL > 5.x, you will need to enable legacy authentication support.
-
Applications are run from the base directory (PiDash/node/), so any application references to local directories will start from this directory. For example, log files printed to ./logs/ will print to the /PiDash/node/logs.