Skip to content

Docker Compose

The public Compose-driven stack lives in agirunner.

  1. clone agirunner
  2. copy .env.example to .env
  3. generate and replace the bootstrap secrets
  4. run docker compose up -d
  5. open the dashboard at http://localhost:3000

The default local admin login key comes from DEFAULT_ADMIN_API_KEY in agirunner/.env. The stack also expects PLATFORM_SERVICE_API_KEY there so container-manager can talk to the platform without reusing the human bootstrap key.

Keep PLATFORM_API_PORT=8080 when using the published dashboard image. The current dashboard bundle is built against that local API URL.

The top-level stack currently brings up:

  • PostgreSQL
  • the platform API
  • the container manager
  • the dashboard
  • Docker and socket plumbing used to support execution isolation

Task execution containers are then created later as work is claimed and executed. The runtime in this stack is an image the container manager launches for task execution, not a long-running top-level service. By default that image is the published ghcr.io/agirunner/agirunner-runtime:latest runtime line.

This keeps the front-door story simple. First-time users can clone only agirunner and bring up the product stack without pulling the platform and runtime source repositories just to get started.