Stack Orchestrator allows building and deployment of a Laconic Stack on a single machine with minimial prerequisites. It is a Python3 CLI tool that runs on any OS with Python3 and Docker. The following diagram summarizes the relevant repositories in the Laconic Stack - and the relationship to Stack Orchestrator.
To get started quickly on a fresh Ubuntu instance (e.g, Digital Ocean); try this script. WARNING: always review scripts prior to running them so that you know what is happening on your machine.
For any other installation, follow along below and adapt these instructions based on the specifics of your system.
Ensure that the following are already installed:
- Python3:
python3 --version>=3.8.10(the Python3 shipped in Ubuntu 20+ is good to go) - Docker:
docker --version>=20.10.21 - jq:
jq --version>=1.5
Note: if installing docker-compose via package manager on Linux (as opposed to Docker Desktop), you must install the plugin, e.g. :
mkdir -p ~/.docker/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-composeNext decide on a directory where you would like to put the stack-orchestrator program. Typically this would be
a "user" binary directory such as ~/bin or perhaps /usr/local/laconic or possibly just the current working directory.
Now, having selected that directory, download the latest release from this page into it (we're using ~/bin below for concreteness but edit to suit if you selected a different directory). Also be sure that the destination directory exists and is writable:
curl -L -o ~/bin/laconic-so https://github.com/cerc-io/stack-orchestrator/releases/latest/download/laconic-soGive it execute permissions:
chmod +x ~/bin/laconic-soEnsure laconic-so is on the PATH
Verify operation (your version will probably be different, just check here that you see some version outut and not an error):
laconic-so version
Version: v1.0.27-7831078
Three sub-commands: setup-repositories, build-containers and deploy-system are generally run in order. The following is a slim example for standing up the erc20-watcher. Go further with the erc20 watcher demo and other pieces of the stack, within the stacks directory.
Clone the set of git repositories necessary to build a system:
laconic-so --stack erc20 setup-repositoriesThis will default to cloning git reposiories into: ~/cerc or - if set - the environment variable CERC_REPO_BASE_DIR
Build the set of docker container images required to run a system. It takes around 10 minutes to build all the containers from scratch.
laconic-so --stack erc20 build-containersUses docker compose to deploy a system (with most recently built container images).
laconic-so --stack erc20 deploy-system upCheck out he GraphQL playground here: http://localhost:3002/graphql
See the erc20 watcher demo to continue further.
laconic-so --stack erc20 deploy-system downSee the CONTRIBUTING.md for developer mode install.
Native aarm64 is not currently supported. x64 emulation on ARM64 macos should work (not yet tested).
