Deploy to AWS EC2
Copy page
Deploy to AWS EC2 with Docker Compose
Create a VM Instance
- Go to Compute Engine.
- Launch an instance
- Select Amazon Machine Image (AMI)
- Recommended size is at least
t2.large(2 vCPU, 8 GiB Memory). - Click "Edit" in the "Network settings" section. Set up an Inbound Security Group Rules for (TCP, 3000, 0.0.0.0/0), (TCP, 3002-3003, 0.0.0.0/0), (TCP, 3050-3051, 0.0.0.0/0), and (TCP, 3080, 0.0.0.0/0). These are the ports exposed by the Inkeep services.
- Auto-assign public IP
- Increase the size of storage to 30 GiB.
Install Docker Compose
-
SSH into the EC2 Instance
-
Install packages
Deploy SigNoz and Nango
Clone this repo, which includes Docker files with SigNoz and Nango:
Run this command to autogenerate a .env file:
Nango requires a NANGO_ENCRYPTION_KEY. Once you create this, it cannot be edited.
Here's an overview of the important environment variables when deploying to production. Make sure to replace all of these in the .env file.
Build and deploy SigNoz, Nango, OTEL Collector, and Jaeger:
This may take up to 5 minutes to start.
Retrieve your SigNoz and Nango API Keys
To get your SigNoz API key SIGNOZ_API_KEY:
- Open SigNoz in a browser at
http://<vm_external_ip>:3080 - Navigate to Settings → Account Settings → API Keys → New Key
- Choose a role, Viewer is sufficient for observability
- Set the expiration field to "No Expiry" to prevent the key from expiring
To get your Nango secret key NANGO_SECRET_KEY:
- Open Nango in a browser at
http://<vm_external_ip>:3050 - Nango auto-creates two environments, Prod and Dev. Select the one you will use.
- Navigate to Environment Settings to find the secret key
Deploy the Inkeep Agent Framework
From the root directory, create a new project directory for the Docker Compose setup for the Inkeep Agent Framework
Generate a .env file from the example:
Here's an overview of the important environment variables when deploying to production. Make sure to replace all of these in the .env file.
:::tip Advanced Configuration
For long-running agents or custom deployment requirements, you can override runtime limits like execution timeouts, maximum transfers, and generation steps. See Configure Runtime Limits for examples and the complete list of overridable settings.
:::
Run with Docker:
Then open http://<vm_external_ip>:3000 in a browser!