| .. | ||
| records | ||
| .registry.env.example | ||
| alnt-pricing.yml | ||
| config.yml | ||
| deploy.sh | ||
| Dockerfile | ||
| laconic-cli.sh | ||
| publish-pricing.md | ||
| README.md | ||
| remove-deployment.sh | ||
| webapp-deployment-pricing.yml | ||
Deploy
Setup
gor-deploy
-
Clone the repo:
git clone git@git.vdb.to:LaconicNetwork/gor-deploy.git cd gor-deploy/deploy -
Build registry CLI image:
docker build -t cerc/laconic-registry-cli . # Builds image cerc/laconic-registry-cli:latest -
Configure
userKeyandbondIdin the registry CLI config:NOTE: The bond id should be set as authority bond of
laconic-deployand user key should be of the account that owns thelaconic-deployauthority (owner account address:laconic1kwx2jm6vscz38qlyujvq6msujmk8l3zangqahs)nano config.yml -
This project requires pricing records for cost of deployment and cost of alnt to be published
- Cost of deployment:
lrn://laconic/pricing/webapp-deployment - Cost of alnt:
lrn://laconic/pricing/alnt
If these records are not available, follow these steps to publish them
-
Check if these records are available by running following commands:
# Check if `lrn://laconic/pricing/webapp-deployment` is available ./laconic-cli.sh name resolve lrn://laconic/pricing/webapp-deployment # Check if `lrn://laconic/pricing/alnt` is available ./laconic-cli.sh name resolve lrn://laconic/pricing/alnt
- Cost of deployment:
-
Add configuration for registry operations:
cp .registry.env.example .registry.env # Fill in the required values nano .registry.env -
Add configuration for the app:
curl -s https://git.vdb.to/LaconicNetwork/gor-deploy/src/branch/main/.env.example -o .app.env # Fill in the required values nano .app.env-
Required environment variables:
Client-side (must be prefixed with NEXT_PUBLIC_):
NEXT_PUBLIC_SOLANA_RPC_URL- The RPC URL for the Solana blockchain (SPL token transactions)NEXT_PUBLIC_GORBAGANA_RPC_URL- The RPC URL for the Gorbagana blockchain (native GOR transactions)NEXT_PUBLIC_ENABLE_NATIVE_GOR_TRANSFER- Enable native GOR token transfers (true/false)NEXT_PUBLIC_SOLANA_TOKEN_RECIPIENT_ADDRESS- The Solana address that will receive token paymentsNEXT_PUBLIC_ALNT_COST_LRN- LRN for ALNT token pricingNEXT_PUBLIC_DEPLOYMENT_COST_LRN- LRN for deployment cost pricingNEXT_PUBLIC_DOMAIN_SUFFIX- Suffix to append to DNS names in the UI (e.g. ".example.com")
Server-side:
REGISTRY_BOND_ID- The bond ID to use for Laconic Registry recordsREGISTRY_AUTHORITY- The authority for Laconic Registry LRNsREGISTRY_USER_KEY- The private key for Laconic Registry transactions (also used for LNT transfers)DEPLOYER_LRN- The LRN of the deployer
-
Run
-
Deploy
gor-deployApp:# In gor-deploy/deploy dir docker run -it \ -v ./:/app/deploy -w /app/deploy \ -e DEPLOYMENT_DNS=gor-deploy \ cerc/laconic-registry-cli:latest \ ./deploy.sh -
Check deployment logs on deployer UI: https://webapp-deployer-ui.apps.vaasl.io/
-
Visit deployed app: https://gor-deploy.apps.vaasl.io
Remove deployment
-
Remove deployment:
# In gor-deploy/deploy dir docker run -it \ -v ./:/app/deploy -w /app/deploy \ -e DEPLOYMENT_RECORD_ID=<deploment-record-id-to-be-removed> \ cerc/laconic-registry-cli:latest \ ./remove-deployment.sh