Mirumon is a simple hardware monitroing service. The goal of this project is to provide a simple user-friendly API to monitor your devices remotely.
It is based on the Agent architecture. An Device Agent is installed on the PC, and is connected to the server via a websocket.
Server provides an open REST API to interact with its components. As of now, the only officially supported client is the for Android phones and tablets.
Implemented features:
- User registration and authorization
- Device registration and authorization
- Providing the device connection status (online/offline)
- Providing the information about the system (OS, users, etc.)
- Providing a list of all installed software
- Providing information about device's hardware
- Remote shell command executing and shutting off the device
In development:
- User permission groups
- Periodical synchronisation of the device
- Websocket client API with push notifications
- Active Directory authorization
- Powering up the device
To start working on project install dependencies
pip install poetry
poetry installCreate env file from template
cp .env.template .envRun databases and broker containers
docker-compose up -d postgres rabbitmq redisUp migrations
alembic upgrade headCreate first superuser
./scripts/create_superuser.py admin passRun dev server with all necessary configs
./scripts/runserverRegister and connect fake device
./scripts/fake_device.py admin passFormat and lint code
nox -S format lintRun tests
nox -S testor just
pytest