Both pip and uv can install monitorat from PyPI. This is the simplest path if you're not modifying the source code. If you are building an widget with an Agent, you will want to use a source install method and ready your agent in the project root.
I like uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install monitorat
monitorat demo # --mode [simple|advanced|federation|editor|layout|suite]Then open a browser at http://localhost:6100.
To try the demo modes on monitorat.brege.org:
The production server runs --mode suite under the hood, which launches a single (read-only) instance of simple, advanced, and layout.
Start the server with your config:
monitorat -c ~/.config/monitorat/config.yaml server --host 0.0.0.0 --port 6161To run monitorat as a systemd service with your normal user, group, and hostname:
bash <(curl -s https://raw.githubusercontent.com/brege/monitorat/refs/heads/main/scripts/install-systemd-uv.sh)This pulls the script from scripts/install-systemd-uv.sh, using sudo internally to install the systemd unit to /etc/systemd/system/monitor@.service.
The simplest way:
pip install monitorat
monitorat demo # --mode [simple|advanced|federation|editor|layout|suite]monitorat -c ~/.config/monitorat/config.yaml server --host 0.0.0.0 --port 6161One-command installation:
bash <(curl -s https://raw.githubusercontent.com/brege/monitorat/refs/heads/main/scripts/install-systemd-pip.sh)The script uses sudo internally to install the systemd unit to /etc/systemd/system/monitor@.service. It detects your user, group, and hostname.
To review the script before running:
- Local:
../../scripts/install-systemd-pip.sh - GitHub: github.com/brege/monitorat/blob/main/scripts/install-systemd-pip.sh
Both the pip and uv installation methods assume you're using a configuration file at ~/.config/monitorat/config.yaml.
Monitorat will resolve your config file either at the destination given by -c|--config, or the default location ~/.config/monitorat/config.yaml.