lazyBoy/docker-compose.yml

83 lines
2.3 KiB
YAML

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: