stack-orchestrator/app/data/stacks/mobymask-v2/web-apps.md
prathamesh0 c2a3ffe0dd Add an option to pass env file to deploy command (#304)
* Add an option to pass env file to deploy command

* Use env variable mapping in fixturenet-optimism stack

* Use default values from checked in env files

* Use env variable mapping in mobymask-v2 stack

* Update instructions

* Add extra hosts in app compose files and update instructions

* Add CERC prefix to env variables in fixturenet-optimism stack

* Add CERC prefix to env variables in mobymask-v2 stack

Former-commit-id: 6b62247ef7
2023-04-11 16:21:03 +05:30

2.8 KiB

Web Apps

Instructions to setup and deploy MobyMask and Peer Test web apps

Setup

Prerequisite: Watcher with GQL and relay node endpoints

Clone required repositories:

laconic-so --stack mobymask-v2 setup-repositories --include cerc-io/react-peer,cerc-io/mobymask-ui

# If this throws an error as a result of being already checked out to a branch/tag in a repo, remove the repositories mentioned below and re-run the command

Checkout to the required versions and branches in repos:

# react-peer
cd ~/cerc/react-peer
git checkout v0.2.31

# mobymask-ui
cd ~/cerc/mobymask-ui
git checkout laconic

Build the container images:

laconic-so --stack mobymask-v2 build-containers --include cerc/react-peer-v2,cerc/mobymask-ui

This should create the required docker images in the local image registry

Deploy

Configuration

Create and update an env file to be used in the next step (defaults):

# Set relay nodes to be used by the web-app
CERC_RELAY_NODES=["/ip4/127.0.0.1/tcp/9090/ws/p2p/12D3KooWSPCsVkHVyLQoCqhu2YRPvvM7o6r6NRYyLM5zeA6Uig5t"]

# Also add if running MobyMask app:

# External watcher endpoint (to check if watcher is up)
CERC_WATCHER_HOST=
CERC_WATCHER_PORT=

# Watcher endpoint used by the app for GQL queries
CERC_APP_WATCHER_URL="http://127.0.0.1:3001"

# Set deployed MobyMask contract address to be used in MobyMask app's config
CERC_DEPLOYED_CONTRACT=

# L2 Chain ID used by mobymask web-app for L2 txs
CERC_CHAIN_ID=42069
  • NOTE: If watcher is running on the host machine, use host.docker.internal as the hostname to access the host port

Deploy the stack

For running mobymask-app

laconic-so --stack mobymask-v2 deploy --include mobymask-app --env-file <PATH_TO_ENV_FILE> up

# Runs on host port 3002

For running peer-test-app

laconic-so --stack mobymask-v2 deploy --include peer-test-app --env-file <PATH_TO_ENV_FILE> up

# Runs on host port 3003

To list down and monitor the running containers:

laconic-so --stack mobymask-v2 deploy --include [mobymask-app | peer-test-app] ps

docker ps

# Check logs for a container
docker logs -f <CONTAINER_ID>

Demo

Follow the demo to try out the MobyMask app with L2 chain

Clean up

Stop all services running in the background:

For mobymask-app

laconic-so --stack mobymask-v2 deploy --include mobymask-app down

For peer-test-app

laconic-so --stack mobymask-v2 deploy --include peer-test-app down

Clear volumes created by this stack:

# List all relevant volumes
docker volume ls -q --filter "name=.*mobymask_deployment"

# Remove all the listed volumes
docker volume rm $(docker volume ls -q --filter "name=.*mobymask_deployment")