Prathamesh Musale
6b74477aff
Part of [Create a public laconicd testnet](https://www.notion.so/Create-a-public-laconicd-testnet-896a11bdd8094eff8f1b49c0be0ca3b8) Reviewed-on: cerc-io/testnet-laconicd-stack#2 Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com> Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
142 lines
3.1 KiB
Markdown
142 lines
3.1 KiB
Markdown
# laconic-console
|
|
|
|
Instructions for running laconic registry CLI and console
|
|
|
|
## Prerequisites
|
|
|
|
* laconicd RPC and GQL endpoints
|
|
|
|
## Setup
|
|
|
|
* Clone the stack repo:
|
|
|
|
```bash
|
|
laconic-so fetch-stack git.vdb.to/cerc-io/testnet-laconicd-stack
|
|
```
|
|
|
|
* Clone required repositories:
|
|
|
|
```bash
|
|
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-console setup-repositories
|
|
```
|
|
|
|
* Build the container images:
|
|
|
|
```bash
|
|
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-console build-containers
|
|
```
|
|
|
|
This should create the following docker images locally:
|
|
|
|
* `cerc/laconic2-registry-cli`
|
|
* `cerc/webapp-base`
|
|
* `cerc/laconic2-console-host`
|
|
|
|
## Create a deployment
|
|
|
|
* Create a spec file for the deployment:
|
|
|
|
```bash
|
|
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-console deploy init --output laconic-console-spec.yml
|
|
```
|
|
|
|
* Edit `network` in the spec file to map container ports to host ports as required:
|
|
|
|
```bash
|
|
...
|
|
network:
|
|
ports:
|
|
laconic-console:
|
|
- '8080:80'
|
|
```
|
|
|
|
* Create a deployment from the spec file:
|
|
|
|
```bash
|
|
laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-console deploy create --spec-file laconic-console-spec.yml --deployment-dir laconic-console-deployment
|
|
```
|
|
|
|
## Configuration
|
|
|
|
* Inside the deployment directory, open `config.env` file and set following env variables:
|
|
|
|
```bash
|
|
# All optional
|
|
|
|
# CLI configuration
|
|
|
|
# laconicd RPC endpoint (default: http://laconicd:26657)
|
|
CERC_LACONICD_RPC_ENDPOINT=
|
|
|
|
# laconicd GQL endpoint (default: http://laconicd:9473/api)
|
|
CERC_LACONICD_GQL_ENDPOINT=
|
|
|
|
# laconicd chain id (default: laconic_9000-1)
|
|
CERC_LACONICD_CHAIN_ID=
|
|
|
|
# laconicd user private key for txs
|
|
CERC_LACONICD_USER_KEY=
|
|
|
|
# laconicd bond id for txs
|
|
CERC_LACONICD_BOND_ID=
|
|
|
|
# Gas limit for txs (default: 200000)
|
|
CERC_LACONICD_GAS=
|
|
|
|
# Max fees for txs (default: 200000photon)
|
|
CERC_LACONICD_FEES=
|
|
|
|
# Console configuration
|
|
|
|
# Laconicd (hosted) GQL endpoint (default: http://localhost:9473)
|
|
LACONIC_HOSTED_ENDPOINT=
|
|
```
|
|
|
|
## Run
|
|
|
|
* Start the deployment:
|
|
|
|
```bash
|
|
laconic-so deployment --dir laconic-console-deployment start
|
|
```
|
|
|
|
* View the laconic console at <http://localhost:8080>
|
|
|
|
* Use the `cli` service for registry CLI operations:
|
|
|
|
```bash
|
|
# Example
|
|
laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry status"
|
|
```
|
|
|
|
## Check status
|
|
|
|
* To list down and monitor the running containers:
|
|
|
|
```bash
|
|
# With status
|
|
docker ps -a
|
|
|
|
# Follow logs for console container
|
|
laconic-so deployment --dir laconic-console-deployment logs console -f
|
|
```
|
|
|
|
## Clean up
|
|
|
|
* Stop all services running in the background:
|
|
|
|
```bash
|
|
# Stop the docker containers
|
|
laconic-so deployment --dir laconic-console-deployment stop
|
|
```
|
|
|
|
* To stop all services and also delete data:
|
|
|
|
```bash
|
|
# Stop the docker containers
|
|
laconic-so deployment --dir laconic-console-deployment stop --delete-volumes
|
|
|
|
# Remove deployment directory (deployment will have to be recreated for a re-run)
|
|
rm -r laconic-console-deployment
|
|
```
|