services: postgres: image: pgvector/pgvector:pg16 environment: POSTGRES_USER: lazyboy POSTGRES_PASSWORD: lazyboy POSTGRES_DB: lazyboy ports: - "127.0.0.1:5434:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U lazyboy"] interval: 3s timeout: 5s retries: 20 computer: image: lazyboy/computer:local build: context: . dockerfile: image/computer/Dockerfile command: ["true"] restart: "no" network_mode: none supervisor: build: context: . dockerfile: image/supervisor/Dockerfile environment: SANDBOX_SUPERVISOR_TOKEN: ${SANDBOX_SUPERVISOR_TOKEN:?Set SANDBOX_SUPERVISOR_TOKEN in .env} LAZYBOY_COMPUTER_IMAGE: lazyboy/computer:local SUPERVISOR_BIND: 0.0.0.0:7091 DATA_DIR: /data HOST_DATA_DIR: ${PWD}/data volumes: - /var/run/docker.sock:/var/run/docker.sock - ./data:/data extra_hosts: - "host.docker.internal:host-gateway" depends_on: computer: condition: service_completed_successfully api: build: context: . dockerfile: image/api/Dockerfile environment: DATABASE_URL: postgres://lazyboy:lazyboy@postgres:5432/lazyboy SANDBOX_SUPERVISOR_URL: http://supervisor:7091 SANDBOX_SUPERVISOR_TOKEN: ${SANDBOX_SUPERVISOR_TOKEN:?Set SANDBOX_SUPERVISOR_TOKEN in .env} LAZYBOY_APP_TOKEN: ${LAZYBOY_APP_TOKEN:-} LAZYBOY_SECURE_COOKIE: ${LAZYBOY_SECURE_COOKIE:-false} SANDBOX_PROVIDER: docker DATA_DIR: /data HOST_DATA_DIR: ${PWD}/data API_BIND: 0.0.0.0:3100 XAI_API_KEY: ${XAI_API_KEY:-} OPENCODE_GO_API_KEY: ${OPENCODE_GO_API_KEY:-} OPENAI_API_KEY: ${OPENAI_API_KEY:-} LAZYBOY_MEMORY_ENABLED: ${LAZYBOY_MEMORY_ENABLED:-true} LAZYBOY_MEMORY_MODEL_CACHE: /data/fastembed LAZYBOY_MEMORY_TOP_K: ${LAZYBOY_MEMORY_TOP_K:-8} LAZYBOY_MEMORY_BYTE_BUDGET: ${LAZYBOY_MEMORY_BYTE_BUDGET:-6000} LAZYBOY_WEB_DIR: /web LAZYBOY_SCREEN_UPSTREAM: host.docker.internal ports: - "3101:3100" volumes: - ./data:/data extra_hosts: - "host.docker.internal:host-gateway" depends_on: postgres: condition: service_healthy supervisor: condition: service_started volumes: pgdata: