# 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) # 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 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 ports: - "18792:18790" deploy: resources: limits: cpus: '1' memory: 1G reservations: cpus: '0.25' memory: 256M