Setup
On a dev machine with docker and docker-compose installed, run:
curl https://transitiverobotics.com/deploy | 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: https://github.com/transitiverobotics/transitive/blob/main/cloud/tools/mDNS/README.md.
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.
Production
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.