Installation
AIM can be deployed in multiple ways depending on your infrastructure requirements. Choose the deployment method that best fits your needs.
System Requirements
Minimum Requirements
- • CPU: 2 vCPUs (x86_64 or ARM64)
- • Memory: 4 GB RAM
- • Storage: 20 GB SSD
- • Database: PostgreSQL 14+
- • Cache: Redis 6+ (optional)
Production Deployment: For production environments, we recommend using our Docker Compose or Kubernetes deployment methods with at least 8 GB RAM and 4 vCPUs.
Docker Compose (Recommended)
The easiest way to get started with AIM is using Docker Compose. This method includes all required services pre-configured.
git clone https://github.com/opena2a-org/agent-identity-management.git
cd agent-identity-managementcp .env.example .env
# Edit .env with your configuration
nano .envdocker compose up -dAIM will be available at http://localhost:3001
Kubernetes
For production deployments at scale, we provide Kubernetes manifests and Helm charts.
# Add the OpenA2A Helm repository
helm repo add opena2a https://charts.opena2a.org
helm repo update
# Install AIM
helm install aim opena2a/aim \
--namespace aim \
--create-namespace \
--values values.yaml# Apply the manifests
kubectl apply -f infrastructure/k8s/namespace.yaml
kubectl apply -f infrastructure/k8s/Manual Installation
For development or custom deployments, you can install AIM components manually.
Backend (Go)
# Install Go 1.23+
cd apps/backend
# Install dependencies
go mod download
# Run migrations
go run cmd/migrate/main.go up
# Start the server
go run cmd/server/main.goFrontend (Next.js)
# Install Node.js 18+
cd apps/web
# Install dependencies
npm install
# Build for production
npm run build
# Start the server
npm startConfiguration
Required Environment Variables
# Database
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=aim_user
POSTGRES_PASSWORD=secure_password
POSTGRES_DB=aim
# Redis (optional but recommended)
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# Security
JWT_SECRET=your-secret-key-min-32-chars
ENCRYPTION_KEY=your-encryption-key
# API
API_PORT=8080
API_HOST=0.0.0.0
# Frontend
NEXT_PUBLIC_API_URL=http://localhost:8080Verify Installation
After installation, verify that AIM is running correctly:
# Check API health
curl http://localhost:8080/health
# Expected response:
{
"status": "healthy",
"version": "1.0.0",
"services": {
"database": "connected",
"redis": "connected"
}
}Success! If you see the healthy status, AIM is installed and running correctly. You can now proceed to Quick Start to register your first agent.
Troubleshooting
Database Connection Failed
Ensure PostgreSQL is running and the connection details are correct.
psql -h localhost -U aim_user -d aimPort Already in Use
Check if another service is using the same port:
lsof -i :8080 # Check API port lsof -i :3001 # Check frontend portDocker Compose Issues
View logs to diagnose issues:
docker compose logs -f