| .. | ||
| README.md | ||
| stack.yml | ||
self-hosted uniswap frontend
Instructions to setup and deploy uniswap app on urbit
Build and deploy:
- Urbit
- Uniswap app
Setup
Clone required repositories:
laconic-so --stack uniswap-urbit-app setup-repositories
# 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
Build the container images:
laconic-so --stack uniswap-urbit-app build-containers
Create a deployment
First, create a spec file for the deployment, which will map the stack's ports and volumes to the host:
laconic-so --stack uniswap-urbit-app deploy init --output uniswap-urbit-app-spec.yml
Ports
Edit network in spec file to map container ports to same ports in host
Data volumes
Container data volumes are bind-mounted to specified paths in the host filesystem.
The default setup (generated by laconic-so deploy init) places the volumes in the ./data subdirectory of the deployment directory. The default mappings can be customized by editing the "spec" file generated by laconic-so deploy init.
Once you've made any needed changes to the spec file, create a deployment from it:
laconic-so --stack uniswap-urbit-app deploy create --spec-file uniswap-urbit-app-spec.yml --deployment-dir uniswap-urbit-app-deployment
Set env variables
Inside the deployment directory, open the file config.env and add variable for infura key :
# External RPC endpoints
# https://docs.infura.io/getting-started#2-create-an-api-key
CERC_INFURA_KEY=
Start the stack
Start the deployment:
laconic-so deployment --dir uniswap-urbit-app-deployment start
- List and check the health status of all the containers using
docker psand wait for them to behealthy
Clean up
To stop all azimuth services running in the background, while preserving chain data:
laconic-so deployment --dir uniswap-urbit-app-deployment stop
To stop all azimuth services and also delete data:
laconic-so deployment --dir uniswap-urbit-app-deployment stop --delete-volumes