version: '3.8'

services:
  morphbox-vm:
    build:
      context: .
      dockerfile: Dockerfile.optimized
    container_name: morphbox-vm
    hostname: morphbox-vm
    privileged: true
    volumes:
      # Persist the entire npm global directory
      - claude-npm-cache:/usr/local/lib/node_modules
      - claude-npm-bin:/usr/local/bin
      # Persist Claude configuration
      - claude-config:/home/morphbox/.claude
      - claude-config-dir:/home/morphbox/.config/claude-code
      # Share workspace
      - ./shared:/workspace
    ports:
      - "2222:22"
    environment:
      - TERM=xterm-256color
      - COLORTERM=truecolor
    restart: unless-stopped

volumes:
  claude-npm-cache:
    driver: local
  claude-npm-bin:
    driver: local
  claude-config:
    driver: local
  claude-config-dir:
    driver: local