Skip to content

Aganium/docker-agent-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Agent Template

A ready-to-use Docker template for deploying self-hosted agent:// protocol agents. Includes a Node.js/TypeScript agent server, nginx reverse proxy, and optional Redis.

Features

  • Multi-stage Dockerfile — Small production image (~180MB)
  • docker-compose — Agent + nginx + optional Redis
  • Agent Card — Serves /.well-known/agent.json automatically
  • DNS Registration — Script to register with the AGENIUM DNS system
  • Health Checks — Built-in health endpoint and Docker healthcheck
  • A2A Endpoints/message and /task handlers (customizable)

Quick Start

1. Configure

cp .env.example .env
# Edit .env with your agent name, domain, etc.

2. Build & Run

docker compose up -d

With Redis:

docker compose --profile with-redis up -d

3. Register with DNS

docker compose exec agent bash scripts/register.sh
# Or locally:
source .env && bash scripts/register.sh

4. Verify

curl http://localhost/health
curl http://localhost/.well-known/agent.json
curl -X POST http://localhost/message \
  -H "Content-Type: application/json" \
  -d '{"content": "Hello!"}'

Development

npm install
npm run dev   # Hot-reload with tsx

Customization

Edit src/handlers.ts to implement your agent's logic:

  • handleMessage() — Process incoming A2A messages
  • handleTask() — Process incoming A2A tasks

Edit src/agent-card.ts to update your agent's capabilities and metadata.

Project Structure

├── Dockerfile           # Multi-stage build
├── docker-compose.yml   # Agent + nginx + Redis
├── .env.example         # Configuration template
├── src/
│   ├── index.ts         # Server entry point
│   ├── handlers.ts      # Message & task handlers (customize this!)
│   ├── agent-card.ts    # /.well-known/agent.json
│   └── health.ts        # Health endpoint
├── scripts/
│   ├── register.sh      # DNS registration
│   └── healthcheck.sh   # Container health check
└── nginx/
    └── nginx.conf       # Reverse proxy config

Domain Registration

Supports optional domain registration on the Agenium DNS system using a marketplace API key (dom_<64 hex>). Pass api_key parameter to auto-register your agent on startup. Get your API key from the Telegram Domain Marketplace.

License

MIT

About

A ready-to-use Docker template for deploying self-hosted `agent://` protocol agents. Includes a Node

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors