tinytown 0.10.0

A simple, fast multi-agent orchestration system using Redis for message passing
Documentation
services:
  redis:
    image: redis:8.0
    restart: unless-stopped
    ports:
      - "6379:6379"
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 5s
      timeout: 3s
      retries: 5

  townhall:
    build:
      context: .
      dockerfile: Dockerfile.townhall
    restart: unless-stopped
    depends_on:
      redis:
        condition: service_healthy
    ports:
      - "8080:8080"
      - "8081:8081"
    environment:
      REDIS_URL: redis://redis:6379/0
      TINYTOWN_TOWN_DIR: /workspace
      TINYTOWN_TOWN_NAME: tinytown-docker
      TINYTOWN_REST_BIND: 0.0.0.0
      TINYTOWN_REST_PORT: 8080
      TINYTOWN_MCP_BIND: 0.0.0.0
      TINYTOWN_MCP_PORT: 8081
    volumes:
      - .:/workspace

  agent-worker:
    profiles: ["worker"]
    build:
      context: .
      dockerfile: Dockerfile.agent-worker
    depends_on:
      redis:
        condition: service_healthy
      townhall:
        condition: service_started
    environment:
      REDIS_URL: redis://redis:6379/0
      TINYTOWN_TOWN_DIR: /workspace
      TINYTOWN_TOWN_NAME: tinytown-docker
      TINYTOWN_AGENT_NAME: worker-compose
      TINYTOWN_AGENT_ROLE: backend
      TINYTOWN_AGENT_CLI: codex
      TINYTOWN_AGENT_MAX_ROUNDS: 200
      OPENAI_API_KEY: ${OPENAI_API_KEY:-}
    volumes:
      - .:/workspace