Skip to main content


On a dev machine with docker and docker-compose installed, run:

curl | bash

This will:

  • create a folder ~/transitive
  • write two files into it:
    • .env: a file used to configure your local deployment, pre-populated with auto-generated secrets and reasonable defaults for development,
    • docker-compose.yaml: a docker-compose file for starting all required micro-services
  • "runs" the docker-compose.yaml file, which will:
    • pull all required images from DockerHub
    • start them

At first, when .env still states PRODUCTION=false (the initial default), this will also start a small mDNS service in a docker container. The purpose of this is to make sure all subdomains of the current host are resolved to the host itself. This is required because Transitive uses several subdomains, e.g., portal. and data. and in dev they will all be provided by your dev machine. For this to work you will probably need to update your local configuration (and that of any local robots you want to test with). Please see here:

Running from Source

As an alternative, if you want to hack on the Transitive framework itself, for instance in order to contribute to its development, you can also run the entire stack from source. For this, please follow the instructions in the README.


You can also self-host your own production deployment. For this you will need to modify the .env file accordingly and create a Let's Encrypt account you can use to generate the necessary SSL certificates (see documentation in the .env file generated by the deploy script run by the above curl command).

Please reach out on Slack if you run into any issues.