A quick and dirty deployment UI for Akash. I built this to help the community get started with Akash, and to make it easier to manage multiple deployments in one place. It's currently in a very early stage of development but it's already proving very useful.
This tool runs locally on your own machine using Docker. I'm looking into a hosted solution using Keplr but the need for a deployment certificate makes this more challenging to self-custody.
Once you've got the tool running, it will direct you through the process of deploying to some extent. You should also check out the Examples wiki for some ideas.
Container logsFunding an existing escrow account- Better walkthrough of deployment (e.g. submit manifest)
- Manifest builder UI
- Local currency pricing and forecasts
- Better fee handling
- Manage multiple keys
- Basic transaction history
- Extract the Akash library as a Ruby gem (let me know if anyone is interested in this)
- Hosted version with self-custody via Keplr. Unsure how to handle certificate
- Make it prettier
Donate me a coffee to help me work faster: akash1w25hcy6sq66x8j0hwcda4f9fn7l63ntx3h6656
You will need Docker installed on your machine first. After that it's a simple one line command to run:
docker run -v ~/.akash-ui:/root/akash -p 3000:3000 --rm -it tombeynon/akash-deploy
Note the following two options:
-v ~/.akash-ui:/root/akash
- the first argument is your Akash home directory. Note we use ~/.akash-ui
here instead of the default ~/.akash
to protect existing installations. Feel free to use whatever.
-p 3000:3000
- the first argument is the port the tool will run on on your machine.
The deploy tool should now be accessible at http://localhost:3000 (or the port specified above)
To update to the latest version, just pull the latest docker image:
docker pull tombeynon/akash-deploy
You will need to restart the container after updating (CTRL-C to quit)
If you've previously used the Akash CLI with the file
keystore, and have an Akash home directory with certificate etc, you can use the same path for the Akash volume above. Using the same password you entered when creating the keystore, the tool will use your existing certificate and keystore. You may need to use the same key name, which is detailed in the Environment Variables section below.
The tool has basic wallet management features, allowing you to create a new wallet or restore an existing wallet from a mnemonic. Note that if you have previously deployed but can't restore your certificate as above, you will need to create a new one and update your deployment.
You can pass the following environment variables to the application via docker run
AKASH_NET=mainnet
- switch the tool to other Akash networks
AKASH_CLI_VERSION=latest
- use a specific CLI version
AKASH_HOME=/root/akash
- the Akash home directory inside the container
RPC_NODE=http://127.0.0.1:80
- sets the RPC node (defaults to a random entry from overclk/net)
KEY_NAME=deploy
- the key name used for the wallet
FEE_RATE=5000uakt
- fee rate for all transactions
I built this very quickly (first commit was 5 days ago at the time of writing) and it's one of my first projects in anything related to blockchain. I'm a Ruby developer by trade so while I can be confident in most of this application, Akash is still new to me. Here be dragons (maybe).