Skip to main content

Installing Resoto with Docker

Docker provides the ability to run an application in a loosely isolated environment called a container. For more information on Docker, please see the official Docker documentation.

Prerequisites

  • Docker needs to be installed on your machine.
  • Docker Compose needs to be available on your machine.
  • At least two cores and eight gigabytes of RAM are required to run the Resoto stack. For a production setup we recommend at least four cores and 16 gigabytes of RAM. See Configuring Resoto Worker for more information.

Installing Resoto

Resoto consists of multiple components that are published as individual Docker images :

  1. 📦 somecr.io/someengineering/resotocore maintains the infrastructure graph.
  2. 📦 somecr.io/someengineering/resotoworker collects infrastructure data from the cloud provider APIs.
  3. 📦 somecr.io/someengineering/resotometrics exports metrics in Prometheus format.
  4. 📦 somecr.io/someengineering/resotoshell is the command-line interface (CLI) used to interact with Resoto.

To install Resoto using Docker Compose, checkout the required files (use the ⧉ button in the code block below for copy'paste ready text):

$ mkdir -p resoto/dockerV2
$ cd resoto
$ curl -o docker-compose.yaml https://raw.githubusercontent.com/someengineering/resoto/null/docker-compose.yaml
$ curl -o dockerV2/prometheus.yml https://raw.githubusercontent.com/someengineering/resoto/null/dockerV2/prometheus.yml
$ docker compose up -d
note

When using old versions of Docker Compose the command is docker-compose instead of docker compose.

Docker Compose will start all components and set up the system. This process should not take more than 1-3 minutes depending on your machine and internet connection.

note

Resoto publishes packages for x86 and ARM architectures for every proper release. Edge tagged versions (edge) are only available for x86. People that try out Resoto on Apple Silicon or other ARM based machines should use a proper release (e.g. latest or latest).

Launching the Command-Line Interface

The resh command starts an interactive shell session with Resoto. To access the Resoto Shell interface using Docker compose, simply execute:

$ docker compose run --rm resotoshell

Configuring Resoto

Please refer to Configuring Resoto for details.

Collecting Cloud Resources

Once one or more cloud providers have been configured the collect_and_cleanup workflow can be run by executing:

> workflow run collect_and_cleanup

No worries, no cleanup will be performed as cleanup is disabled by default. It is just the name of the workflow. See the Cleaning Resources tutorial for details on how to enable cleanup.

Performing Searches

Once Resoto has completed its first collect run, you can try performing some searches.

Updating Resoto

When a new version of Resoto is available, simply edit the container image tag (e.g., latest) specified in the docker-compose.yml file to reflect the desired Resoto release.

Then, run the following command from the directory containing the docker-compose.yml file:

$ docker compose up -d