📂 API Providers > Build an Airnode

# Deploying Airnode

Table of Contents

After integrating your API (API Integration) and creating the configuration files (Configuring Airnode), the next step is to deploy the Airnode.

Complete the following before deploying your Airnode.

# Deploy with Docker

The recommended way to deploy Airnode is by using the Docker deployer image. This image is simply a wrapper around the deployer CLI (opens new window). Try out the Quick Deploy tutorial if you wish to become familiar with the deployer image first.

The deployer interacts with a cloud provider to deploy Airnode programmatically, without requiring you to click through a lot of ever-changing graphical interfaces. For it to do so, a cloud project setup and credentials are required and was discussed in Configuring an Airnode.

# Install Docker

The deployer image is containerized as a Docker image. This will deploy the Airnode to the cloud provider without the worry of installing dependencies and is the recommended way to do a deployment. If you do not already have docker installed go to the Docker website (opens new window) and install it.

# Deployment

At this point your project should resemble the following. The config.json, secrets.env, aws.env (if deploying to AWS) and gcp.json (if deploying to GCP) files should be ready to go. Other files you may have added are expected but not used by the deployer image.

From the root of the project directory run the Docker deployer image which will deploy the Airnode. When the deployment has completed a receipt.json file will be written to the /output folder. This file contains important configuration information about the Airnode and is needed to remove the Airnode should the need arise.

Warning about simultaneous deployments

Avoid running multiple deployments simultaneously as doing so might result in a broken deployment. If this occurs, the standard removal approach may not succeed and Manual Removal may be required.

Normally (for Linux/Mac/WSL2) the deployer image deploy command is run by the user root. This may cause permission issues when the receipt.json file is generated. Optionally you can specify the UID (user identifier) and GID (group identifier) that the deployer image should use. Do so by setting the environment variables USER_ID and GROUP_ID, otherwise omit the line containing the variables.

# AWS

# GCP

When the deployment is complete a receipt.json file is placed into the /output folder.

# receipt.json

The receipt.json file is a product of a successful deployment. It contains Airnode configuration and deployment information and is used to remove the Airnode should you choose.

{
  "airnodeWallet": {
    "airnodeAddress": "0xaBd9daAdf32fCd96eE4607bf3d5B31e19a244Cac",
    "airnodeAddressShort": "abd9daa",
    "xpub": "xpub661MyMwAqRbcGHp9uC7...vbeziJwFHuNs"
  },
  "deployment": {
    "airnodeAddressShort": "abd9daa",
    "cloudProvider": {
      "type": "aws",
      "region": "us-east-1"
    },
    "stage": "dev",
    "nodeVersion": "0.7.5",
    "timestamp": "2022-03-26T02:37:55.506Z"
  },
  "api": {
    "httpGatewayUrl": "https://6vmx3xp8tj.execute-api.us-east-1.amazonaws.com/v1"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# Testing with HTTP Gateway

If you opted to enable the HTTP Gateway it can be used to test the Airnode while bypassing the chain it was deployed to. There are three examples in other docs that detail how to do this.

# Removing the Airnode

When the Airnode was deployed a receipt.json file was created in the /output folder. This file is needed to remove an Airnode.

# AWS

# GCP

# Calling the Airnode

Once the Airnode is deployed, see Calling an Airnode to learn how requests are made to it.

Last Updated: 8/23/2022, 2:00:04 PM