Manta Manager
=============
This guide will walk you through the installation process of the Manta Manager, covering all the required dependencies and steps to set up your environment.
Dependencies
------------
To successfully install and run Manta Manager, you need to have the following dependencies installed:
MongoDB
*******
MongoDB is used as the database by Manta Manager to store essential information such as swarms, nodes, tasks, logs, and results.
Please refer to the official MongoDB documentation for `installation instructions `_.
Mosquitto Broker
****************
Mosquitto is an MQTT broker used by Manta Manager to facilitate communication between nodes and the manager.
**MQTT** (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for connections with remote locations where a small code footprint is required or network bandwidth is limited.
Please refer to the official Mosquitto documentation for installation instructions: `Mosquitto Installation Guide `_.
.. note::
While the Mosquitto broker doesn't need to be deployed on the same machine as the Manta Manager, it must be accessible by both the nodes and the manager. The simplest setup is to deploy the broker on the same machine as the manager.
Docker
******
**This is an optional dependency**. Since Manta Node uses Docker, you can take advantage of the shared network feature provided by Docker between your tasks to enable peer-to-peer communications.
Please follow the official `Docker installation guides `_
Installing Manta Manager
------------------------
The recommended way to install Manta Manager is by using pre-built packages, which simplify the setup process and ensure all dependencies are correctly configured.
1. **Download the Wheel File**: Obtain the pre-built wheel file for the Manta Manager from the official release `repository `_.
2. **Install the Wheel File**: Use :code:`pip` to install the downloaded wheel file. Run the following command in your terminal:
.. code:: bash
pip install manta_manager--py3-none-any.whl
This installation method minimizes compatibility issues and is ideal for most users.