Skip to content

Docker Compose

The checked-in local-development stack lives at docker-compose.yml in the q15 repo and uses templates under deploy/compose/.

File Purpose
deploy/compose/agent-config.yaml Structured agent config
deploy/compose/proxy-policy.yaml Structured proxy policy
deploy/compose/secrets/ Local Docker secret files (from *.example templates)
deploy/compose/auth/ Local OpenAI auth state (from auth.json.example)
  1. Initialize secrets
    Terminal window
    make compose-secrets-init
  2. Edit secret files under deploy/compose/secrets/ (remove .example suffix)
  3. Edit auth at deploy/compose/auth/auth.json
  4. Start the stack
    Terminal window
    make compose-up

For production, use the image-first Compose example at deploy/compose/docker-compose.image-first.yml:

Terminal window
make compose-secrets-init
Q15_IMAGE_TAG=sha-<short-sha> docker compose -f deploy/compose/docker-compose.image-first.yml up -d

The image-first example:

  • Uses image: only (no local builds)
  • Requires Q15_IMAGE_TAG applied to all three services
  • Mounts persistent named volumes for all required paths
  • Mounts config, policy, and auth at the exact runtime paths the binaries expect
Volume Mount Purpose
q15_workspace /workspace Durable project tree
q15_memory /memory Agent memory
q15_skills /skills Skill artifacts
q15_exec_nix_store /nix Nix store (keeps packages warm across sessions)
q15_qdrant_storage Qdrant storage Embedding vectors (when enabled)