Skip to main content

Install 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.

Resoto consists of multiple components published as individual Docker images:

Prerequisites

note

Resoto performs CPU-intensive graph operations. In a production setup, we recommend at least four cores and 16 gigabytes of RAM. See Configuring Resoto Worker for more information.

Installing Resoto

  1. Fetch the required files from the someengineering/resoto GitHub repository:

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

    By default, the resotoshell service bind-mounts the ~/resoto-downloads directory to /home/resoto/downloads in the container. This allows you to access files outputted by Resoto Shell on the host.

    If you would like to change the download location from ~/resoto-downloads to another directory, you can do so by editing the docker-compose.yaml file:

      resotoshell:
    image: somecr.io/someengineering/resotoshell:edge
    container_name: resotoshell
    depends_on:
    - resotocore
    environment:
    - PSK
    - RESOTOSHELL_RESOTOCORE_URI=https://resotocore:8900
    volumes:
    - ~/resoto-downloads:/home/resoto/downloads
    command:
    - --wait
    restart: always
    stop_grace_period: 2m
  2. Start the services defined in the docker-compose.yaml file:

    $ docker-compose up -d

    Upon execution of docker-compose up -d, Docker Compose will start all components and set up the system. This process takes approximately 1-3 minutes, depending on your machine and internet connection.

    note

    Docker Compose V2 integrated compose functions in to the Docker platform.

    In Docker Compose V2, the command is docker compose (no hyphen) instead of docker-compose.

    info

    Resoto publishes packages for both x86 and ARM architectures for stable releases, but edge versions are only available for x86.

    If you have an Apple Silicon or other ARM-based machine, please use the latest stable release (2.4.7 or latest).

Launching the Command-Line Interface

The resh command is used to interact with resotocore.

Simply execute the following to access the Resoto Shell interface:

$ docker exec -it resotoshell resh

Resoto Shell