# user1=@ilia, user2=@family, user3=@wife — workspaces ~/.nanobot/workspaces/{ilia,family,wife}
# Development version - mounts source code for live updates
# Use this when developing nanobot code
# Changes to nanobot/ directory will be picked up automatically (may need container restart)

services:
  nanobot-user1:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: nanobot-user1-dev
    command: ["gateway"]
    restart: unless-stopped
    env_file:
      - .env.shared
      - .env.user1
    volumes:
      - ~/.nanobot-user1:/root/.nanobot
      - ~/.nanobot/workspaces/ilia:/workspace
      # Mount source code for development (changes picked up immediately)
      - ./nanobot:/app/nanobot:ro  # Read-only mount (safer)
      # Local-cloned MCP servers (see scripts/setup-mcp-servers.sh)
      - ./mcp-servers:/app/mcp-servers:ro
      # Or use this for read-write (if you edit inside container):
      # - ./nanobot:/app/nanobot
    ports:
      - "18790:18790"
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 1G
        reservations:
          cpus: '0.25'
          memory: 256M

  nanobot-user2:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: nanobot-user2-dev
    command: ["gateway"]
    restart: unless-stopped
    env_file:
      - .env.shared
      - .env.user2
    volumes:
      - ~/.nanobot-user2:/root/.nanobot
      - ~/.nanobot/workspaces/family:/workspace
      - ./nanobot:/app/nanobot:ro
      - ./mcp-servers:/app/mcp-servers:ro
    ports:
      - "18791:18790"
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 1G
        reservations:
          cpus: '0.25'
          memory: 256M

  nanobot-user3:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: nanobot-user3-dev
    command: ["gateway"]
    restart: unless-stopped
    env_file:
      - .env.shared
      - .env.user3
    volumes:
      - ~/.nanobot-user3:/root/.nanobot
      - ~/.nanobot/workspaces/wife:/workspace
      - ./nanobot:/app/nanobot:ro
      - ./mcp-servers:/app/mcp-servers:ro
    ports:
      - "18792:18790"
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 1G
        reservations:
          cpus: '0.25'
          memory: 256M

