services: # Single container running BOTH the REST API and the Slack bot (serve-all). # The bot talks to the API over localhost. To run only the API, override the # command to ["serve"]; the Slack bot needs SLACK_BOT_TOKEN + SLACK_APP_TOKEN # in .env (see README "Integración con Slack"). bob: build: context: . args: # Pin the runtimes and verify the Bob Shell release artifact. NODE_VERSION: "24.21.0-1nodesource1" BOB_VERSION: "2.0.5" BOB_SHA256: "eff232eb1b69f34f984ddd295e6960470058ca922b1c751879c5a8d06199f566" image: bob-harness container_name: bob-harness command: ["serve-all"] env_file: - .env environment: BOB_MODE: unrestricted-dev # Run from / so Bob governs the whole container, not just /workspace. BOB_WORKDIR: / ports: - "8080:8080" volumes: # Files Bob creates/edits land here on the host (edits are scoped to the # working dir by --yolo). - ./workspace:/workspace # Compose-level healthcheck: works under both docker and podman (podman # ignores the image's HEALTHCHECK because it builds OCI-format images). healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost:8080/health"] interval: 30s timeout: 5s start_period: 15s retries: 3 restart: unless-stopped