ℹ️ Status is a simple, lightweight system monitoring app for small homeservers running Linux.
It utilizes virtual filesystems (like /sys, /proc etc.) to retrieve information and give it to end user via nice web interface.
⚖️ Status provides a good balance between power and simplicity.
🏃 Runs flawlessly on most desktop computers, mini PCs and Raspberry Pis. However, virtual isolated environments may cause problems.
📺 Check the live demo! (but give it a while to load as Render suspends idle services)
This will take you just a few seconds. It's up to you which one you choose :)
✔️ Recommended. Status has access to all virtual filesystems in your OS, which means more information and most reliable values.
📦 You can skip commands with (venv only) comment above if you already have python3-aiohttp distro package installed.
# Clone the repo
git clone https://github.com/dani3l0/Status && cd Status
# Prepare virtual environment in 'venv' dir (venv only)
python3 -m venv venv
# Use the virtual environment (venv only)
source ./venv/bin/activate
# Install required modules (venv only)
pip3 install -r requirements.txt
# Run Status!
python3 status.py
In a one combined command (like for systemd service), you can use this as ExecStart:
sh -c "source ./venv/bin/activate && python3 status.py"
It just works. Most of features should run without hassle, but depending on your OS configuration you may notice some minor limitations.
# Clone the repo
git clone https://github.com/dani3l0/Status && cd Status
# Build & run app
docker-compose up -d
App should be available on localhost:9090.
Status can be configured in multiple ways:
- 
🖥️ Command line arguments - the most important and will override everything.
 - 
🏞️ environment variables - will override configuration file.
 - 
📝 configuration file - the least important, overrides default configuration only.
 
It's good not to mix them. Use --help for more information.
Config keys are named slightly differently under different ways of configuration. Look at the table:
| in JSON config | Environment variable | Command line argument | |
|---|---|---|---|
| The rule | {section}.{key} | 
STATUS_{SECTION}_{KEY} | 
--{section}-{key} | 
| Example #1 | server.port | 
STATUS_SERVER_PORT | 
--server-port | 
| Example #2 | server.address | 
STATUS_SERVER_ADDRESS | 
--server-address | 
| Example #3 | misc.debug | 
STATUS_MISC_DEBUG | 
--misc-debug | 
Command line offers --config (or -c) to set custom config location.
Running Status with --no-config will neither read nor write any configuration file. Overrides --config.

