This repository contains a minimal Docker Compose setup to run the Arch Recon agent stack. By default it pulls the published container images, but you can point the stack at locally built images via environment variables.
- Docker Engine with Docker Compose installed.
git clone <repository-url>
cd arch-recon-stackCreate a .env file in the root directory next to docker-compose.yml. The setup script will automatically create this file and configure the LOCAL_AGENT_WORKSPACE variable, but you can also create it manually.
Required environment variables:
LOCAL_AGENT_WORKSPACE- Path to the agent workspace directory (defaults to./agent_workspaceif using setup script)
Optional environment variables:
AGENT_IMAGE- Override the agent container image (default:thwr322/arch-recon-agent:latest)CHAT_IMAGE- Override the chat container image (default:arch-recon-chat:local)
The setup script will:
- Create the
agent_workspacedirectory for the agent - Create or update the
.envfile with theLOCAL_AGENT_WORKSPACEvariable
On Linux/macOS:
./setup.shOn Windows (PowerShell):
bash setup.shManual setup (alternative): If you prefer to set up manually:
- Create the agent workspace directory:
mkdir agent_workspace - Create a
.envfile with:LOCAL_AGENT_WORKSPACE=./agent_workspace
The archrecon.json file contains the agent configuration including:
- Model settings (git_clone_model, arch_recon_model)
- Tool call limits
- Error handling settings
- Summarization parameters
- Recursion limits
You can modify this file to customize the agent behavior before starting the stack.
docker compose updocker compose up -ddocker compose up --no-attach plantumldocker compose up --builddocker compose downThe stack includes three services:
- agent - The Arch Recon agent service (port 2024)
- chat - The chat frontend interface (port 3000)
- plantuml - PlantUML server for diagram generation (port 8080)
- Compose automatically reads
.envbefore parsingdocker-compose.yml. Rundocker compose configto confirm that your overrides are applied. - The compose file exposes ports for the agent, chat frontend, and PlantUML service. Adjust the port mappings in
docker-compose.ymlif needed.