Exosphere is a CLI and Text UI driven application that offers aggregated patch and security update reporting as well as basic system status across multiple Unix-like hosts over SSH.
It is targeted at small to medium sized networks, and is designed to be simple to deploy and use, requiring no central server, agents and complex dependencies on remote hosts.
If you have SSH access to the hosts and your keypairs are loaded in a SSH Agent, you are good to go!
Simply follow the Quickstart Guide, or see the documentation to get started.
- Rich interactive command line interface (CLI)
- Text-based User Interface (TUI), offering menus, tables and dashboards
- Consistent view of information across different platforms and package managers
- See everything in one spot, at a glance, without complex automation or enterprise solutions
- Does not require Python (or anything else) to be installed on remote systems
- Document based reporting in HTML, text or markdown format
- JSON output for integration with other tools
Exosphere itself is written in Python and is compatible with Python 3.13 or later. It can run nearly anywhere where Python is available, including Linux, MacOS, and Windows (natively).
Supported platforms for remote hosts include:
- Debian/Ubuntu and derivatives (using APT)
- Red Hat/CentOS and derivatives (using YUM/DNF)
- FreeBSD (using pkg)
- OpenBSD (using pkg_add)
Unsupported platform with with SSH connectivity checks only:
- Other Linux distributions (e.g., Arch Linux, Gentoo, NixOS, etc.)
- Other BSD systems (NetBSD)
- Other Unix-like systems (e.g., Solaris, AIX, IRIX, Mac OS)
Exosphere does not support other platforms where SSH is available. This includes network equipment with proprietary operating systems, etc.
For installation instructions, configuration and usage examples, full documentation is available.
tl;dr, use uv
uv sync --dev
uv run exosphere
Linting, formatting and testing can be done with poe tasks:
uv run poe format
uv run poe check
uv run poe test
For more details, and available tasks, run:
uv run poe --help
The UI is built with Textual.
A quick start for running the UI with live editing and reloading, plus debug console, is as follows:
# Ensure you have the dev dependencies
uv sync --dev
# In a separate terminal, run the console
uv run textual console
# In another terminal, run the UI
uv run textual run --dev -c exosphere ui start
Congratulations! Editing any of the .tcss
files in the ui/
directory will
reflect changes immediately.
Make sure you run Exosphere UI with exosphere ui start
.
To edit the documentation, you can use the following commands:
uv sync --dev
uv run poe docs-serve
This will start a local server at http://localhost:8000
where you can view the
documentation. You can edit the files in the docs/source
directory, and the changes
will be reflected in real-time.
To check the documentation for spelling errors, you can run:
uv run poe docs-spellcheck
Linting is performed as part of the poe docs
task, which also builds the
documentation, but can also be invoked separately:
uv run poe docs-lint
This project is licensed under the MIT License - see the LICENSE file for details.