Skip to content

Maestro setup

This page provide instructions for setting up Maestro:

Getting started

Basic setup of Maestro using Docker and Docker Compose (recommended):

  1. Clone the Maestro repository to your local machine

  2. Configure as needed:

  3. Environment variables in the config/ directory
  4. docker-compose.yml file

  5. Build using Docker Compose (from root):

    docker compose build

  6. Start the Maestro services:

    docker compose up
    Once the services are up and running, you can access (with default configuration):

  7. Maestro UI at http://localhost:8002/
  8. Maestro API at http://localhost:8002/docs
  9. Neo4j browser at http://localhost:47474/browser/

Alternatively, you can install Maestro locally using pip:

  1. Install with pip:

    pip install src/

  2. Compile tailwind CSS for UI:


Using the Maestro library in an app

Maestro is designed to be used as a library in other applications. To setup Maestro for use in an app, follow instructions below. Be sure to also check the technical documentation to understand the underlying concepts and how to use them.

For a complete example of how Maestro can be used in an app, see Steps.

Basic setup

We recommend setting up your app the same way as Maestro using Docker and Docker compose. This can be done by creating a Dockerfile and a docker-compose.yml file in the root of your app. See Steps for an example.

[TODO: Add more details]

Updating the Maestro library

Maestro should be installed in the container of your app. For now, your app should point to Maestro's dev branch. When a proper Maestro release has been made, you should change this to a release tag.

To update the Maestro library with all its Python dependencies, run the following command:

docker compose exec [your_app_name] poetry update maestro

If you need to add a new Python dependency, modify pyproject.toml and run:

docker compose exec [your_app_name] poetry update

Set up for development

To set up for development, use one of the following methods:

Use the provided devcontainer in VSCode (recommended). Choose "Remote-Containers: Reopen in Container" in VSCode when prompted (or use the command palette). This will set up a development environment with all necessary dependencies.

Alternatively, follow these steps:

  1. Set up and activate virtualenv

    cd maestro
    python -m venv .venv
    source .venv/bin/activate
    pip install poetry
    poetry install
  2. Launch Docker compose:

    docker compose up

  3. Install NATS CLI