Deploy an nginx container to Akash in five API calls.
Prerequisites:
- An API key from Console (Settings → API Keys), exported as
AKASH_API_KEY. - A
deployment.jsonfile shaped like{ "data": { "sdl": "<YOUR_SDL_YAML_AS_STRING>", "deposit": 0.5 } }(depositis in USD;0.5is the minimum). jqfor JSON parsing.
# 1. Create a deploymentCREATE=$(curl -s -X POST https://console-api.akash.network/v1/deployments \ -H "x-api-key: $AKASH_API_KEY" \ -H "Content-Type: application/json" \ -d @deployment.json)DSEQ=$(echo "$CREATE" | jq -r '.data.dseq')MANIFEST=$(echo "$CREATE" | jq -r '.data.manifest')
# 2. Wait 30 seconds for bids, then read the first bid's composite idsleep 30BID=$(curl -s "https://console-api.akash.network/v1/bids?dseq=$DSEQ" \ -H "x-api-key: $AKASH_API_KEY" | jq -c '.data[0].bid.id')GSEQ=$(echo "$BID" | jq -r '.gseq')OSEQ=$(echo "$BID" | jq -r '.oseq')PROVIDER=$(echo "$BID" | jq -r '.provider')
# 3. Create lease — accepts the bid and ships the manifestcurl -s -X POST https://console-api.akash.network/v1/leases \ -H "x-api-key: $AKASH_API_KEY" \ -H "Content-Type: application/json" \ -d "$(jq -n \ --arg manifest "$MANIFEST" \ --arg dseq "$DSEQ" \ --argjson gseq "$GSEQ" \ --argjson oseq "$OSEQ" \ --arg provider "$PROVIDER" \ '{manifest: $manifest, leases: [{dseq: $dseq, gseq: $gseq, oseq: $oseq, provider: $provider}]}')"
# 4. Check statuscurl -s "https://console-api.akash.network/v1/deployments/$DSEQ" \ -H "x-api-key: $AKASH_API_KEY" | jq
# 5. Close when donecurl -s -X DELETE "https://console-api.akash.network/v1/deployments/$DSEQ" \ -H "x-api-key: $AKASH_API_KEY"