⚠️ This repo is now archived. Canonical source is https://github.com/cerc-io/stack-orchestrator
This repository has been archived on 2026-04-02. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
prathamesh0 2515878eeb
Add ability to run Optimism fixturenet with external L1 endpoint (#273)
* Remove unnecessary todos

* Set option to log commands in shell scripts

* Replace fixturenet-eth dependency with wait on endpoint

* Skip lighthouse node dependency check

* Update all services in the stack

* Use debug flag to enable shell commands logging

* Add bash in op-batcher container

* Update mobymask-v2 instructions

* Update fixturenet-optimism instructions

* Add descriptions for services

* Move ts files to container-build

* Take L1 RPC endpoint from the env file

* Add dev mode restriction for editing env file
2023-04-04 14:53:28 +05:30
app Add ability to run Optimism fixturenet with external L1 endpoint (#273) 2023-04-04 14:53:28 +05:30
docs Add release process doc 2023-01-27 21:22:43 -07:00
scripts Add release description 2023-01-25 22:46:37 -07:00
tests/smoke-test Fix for #212 - exception on non-stack deploy 2023-03-09 08:30:18 -07:00
.gitignore trailing newline 2022-09-29 15:21:50 -06:00
cli.py Make cluster/docker-compose project name unique 2023-02-28 08:47:02 -07:00
LICENSE Initial version of pip packaging 2022-08-23 11:32:55 -06:00
MANIFEST.in Initial version of pip packaging 2022-08-23 11:32:55 -06:00
README.md doc jq requirement 2023-03-24 08:56:01 -04:00
requirements.txt Update python on whales 2023-02-19 17:46:47 -07:00
setup.py Update version 2023-01-19 14:21:33 -07:00
tox.ini Moar complex 2022-10-03 19:43:43 -06:00

Stack Orchestrator

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.

The Stack

Install

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-compose

Next 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-so

Give it execute permissions:

chmod +x ~/bin/laconic-so

Ensure 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

Usage

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.

Setup Repositories

Clone the set of git repositories necessary to build a system:

laconic-so --stack erc20 setup-repositories

This will default to cloning git reposiories into: ~/cerc or - if set - the environment variable CERC_REPO_BASE_DIR

Build Containers

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-containers

Deploy System

Uses docker compose to deploy a system (with most recently built container images).

laconic-so --stack erc20 deploy-system up

Check out he GraphQL playground here: http://localhost:3002/graphql

See the erc20 watcher demo to continue further.

Cleanup

laconic-so --stack erc20 deploy-system down

Contributing

See the CONTRIBUTING.md for developer mode install.

Platform Support

Native aarm64 is not currently supported. x64 emulation on ARM64 macos should work (not yet tested).