Self hosting

Deploy using Docker (Local Development)

Copy page

Install Docker

Deploy SigNoz and Nango

For full functionality, the Inkeep Agent Framework requires SigNoz and Nango. You can sign up for a cloud hosted account with them directly, or you can self host them. Follow these instructions to self-host both SigNoz and Nango.

Clone this repo, which includes docker files with SigNoz and Nango:

git clone https://github.com/inkeep/agents-optional-local-dev inkeep-external-services
cd inkeep-external-services

Run this command to autogenerate a .env file:

cp .env.example .env && \
  encryption_key=$(openssl rand -base64 32) && \
  tmp_file=$(mktemp) && \
  sed "s|<REPLACE_WITH_BASE64_256BIT_ENCRYPTION_KEY>|$encryption_key|" .env > "$tmp_file" && \
  mv "$tmp_file" .env && \
  echo "Docker environment file created with auto-generated encryption key"

Nango requires a NANGO_ENCRYPTION_KEY. Once you create this, it cannot be edited.

Build and deploy SigNoz, Nango, OTEL Collector, and Jaeger:

docker compose up -d

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://localhost: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://localhost:3050
  • Nango autocreates 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 Inkeep Agent Framework

mkdir inkeep && cd inkeep
wget https://raw.githubusercontent.com/inkeep/agents/refs/heads/main/docker-compose.yml
wget https://raw.githubusercontent.com/inkeep/agents/refs/heads/main/.env.docker.example

Generate a .env file from the example:

cp .env.docker.example .env

Here's an overview of the important environment variables when deploying. Make sure to replace all of these in the .env file.

ENVIRONMENT=development

# AI Provider Keys (you need at least one)
ANTHROPIC_API_KEY=
OPENAI_API_KEY=
GOOGLE_GENERATIVE_AI_API_KEY=

# Nango
NANGO_SECRET_KEY=

# SigNoz
SIGNOZ_API_KEY=

# Default username and password for Manage UI (http://localhost:3000)
# INKEEP_AGENTS_MANAGE_UI_USERNAME=admin@example.com
# INKEEP_AGENTS_MANAGE_UI_PASSWORD=adminADMIN!@12

Run with docker:

docker compose up -d

Then open http://localhost:3000 in a browser!