# Local install override (used by CLI, Pinokio, and any local setup) # - Swaps openclaw-data named volume for local ./openclaw-data bind mount # so setup-config.js generated files (openclaw.json, auth-profiles, device identity) # are visible inside the container # - Injects .env into openclaw so API keys are available at runtime services: openclaw: env_file: - .env volumes: - ./openclaw-data:/root/.openclaw # Bundled agent skills, read-only (same mount as docker-compose.yml; see docs/SKILLS.md). - ./skills:/root/.openclaw/skills/openvoiceui:ro - canvas-pages:/app/runtime/canvas-pages - canvas-pages:/root/.openclaw/workspace/canvas-pages - uploads:/app/runtime/uploads - uploads:/root/.openclaw/workspace/uploads # transcripts: agent must READ its own voice transcripts (this override REPLACES the # base openclaw volume list, so the mount must be repeated here or it's dropped). - transcripts:/app/runtime/transcripts - transcripts:/root/.openclaw/workspace/transcripts - generated-music:/app/runtime/generated_music - generated-music:/root/.openclaw/workspace/generated_music - music:/app/runtime/music - music:/root/.openclaw/workspace/music