This guide details how to set up, build, and extend AgentDock locally.
Before running the AgentDock builder, ensure your local development environment has:
- Docker + Docker Compose v2
- Bun ≥ 1.1 (for local scripts and fast package management)
- An LLM API Key (Groq, OpenAI, Anthropic, or Gemini). Groq's free tier is highly recommended for development due to speed and cost.
Copy .env.example to .env in the project root:
cp .env.example .envJWT_SECRET: A secure key used for signing authentication tokens (minimum 32 characters).ADMIN_PASSWORD: The login password used to access the Builder UI.LLM_PROVIDER: The LLM engine to use for natural language describing and patching (groq|openai|anthropic|ollama).LLM_MODEL: The model name (e.g.,llama-3.1-70b-versatile,gpt-4o-mini).- Provider API Keys: Configured based on your
LLM_PROVIDERchoice (e.g.,GROQ_API_KEY,OPENAI_API_KEY,ANTHROPIC_API_KEY).
AgentDock is structured as a Bun workspaces monorepo:
agentdock/
├── apps/
│ ├── builder-api/ # Bun + Hono REST API for managing and generating pipelines
│ ├── builder-ui/ # React + Vite canvas web interface for visual design
│ ├── runtime-console/ # React + Vite console dashboard for running & monitoring generated systems
│ ├── orchestrator/ # Bun/Hono server managing tasks & WebSocket logging
│ ├── llm-gateway/ # BullMQ + Redis job processor load balancing inference
│ └── agent-runtime/ # Python + FastAPI agent container (memory, RAG, and tools)
├── packages/
│ ├── config-schema/ # Shared Zod validation schemas
│ ├── mcp-registry/ # Platform MCPs + Smithery registry search integration
│ └── shared-types/ # Shared TypeScript type definitions
├── configs/ # Example system configurations
└── docker/ # Docker Compose orchestrations for builder services
To run the pre-built application locally, execute:
docker compose -f docker/builder.docker-compose.yml up -dAccess the dashboard at http://localhost:3000 and authenticate using admin@agentdock.local and your configured ADMIN_PASSWORD.
To make changes to the Builder's code with hot-reloading:
- Install monorepo dependencies:
bun install
- Launch the developer compose file (starts SQLite, Redis, and hot-reload watchers):
docker compose -f docker/builder.dev.docker-compose.yml up
Every agent generated by AgentDock has immediate, zero-configuration access to three high-performance builtin tools:
Performs a lightweight web search using DuckDuckGo. No external search API keys are required.
- Parameters:
query(string): The search query.max_results(integer, optional): Maximum results to fetch (default: 5).
Fetches raw text content from public URLs. It automatically extracts clean markdown text from standard web pages, parses PDF documents, and retrieves YouTube transcripts.
- Parameters:
url(string): Target website/file URL.max_chars(integer, optional): Maximum characters to return (default: 8000).
Executes code in a secure sandboxed environment and returns stdout and stderr.
- Supported Languages:
python,javascript,bash. - Execution Limits: 10-second timeout.
- Parameters:
code(string): Raw script text.language(string): Target language.