services: browser: image: browserless/chrome:latest container_name: hermes_browser ports: - "3000:3000" environment: - MAX_CONCURRENT_SESSIONS=5 - SCREEN_WIDTH=1280 - SCREEN_HEIGHT=720 - ENABLE_DEBUGGER=true restart: always networks: - hermes-net deploy: resources: limits: memory: 2G agent: build: . container_name: hermes-brain env_file: - .env volumes: - .:/app/hermes_code:ro - ${HERMES_DATA_PATH}/config.yaml:/app/hermes_data/config.yaml:ro - ${HERMES_DATA_PATH}/SOUL.md:/app/hermes_data/SOUL.md:ro - ./.env:/app/hermes_data/.env:ro - ${HERMES_DATA_PATH}/state.db:/app/hermes_data/state.db:rw - ${HERMES_DATA_PATH}/sessions:/app/hermes_data/sessions:rw - ${HERMES_DATA_PATH}/logs:/app/hermes_data/logs:rw - ${HERMES_DATA_PATH}/skills:/app/hermes_data/skills:rw - ${HERMES_DATA_PATH}/sandboxes:/app/hermes_data/sandboxes:rw - ${HERMES_DATA_PATH}/memories:/app/hermes_data/memories:rw - ${HERMES_WORKSPACE_PATH}/hermes:/app/hermes_data/workspace:rw environment: - BROWSER_URL=ws://browser:3000 depends_on: - browser stdin_open: true tty: true restart: always networks: - hermes-net deploy: resources: limits: memory: 1.5G networks: hermes-net: driver: bridge # Optional: SSL configuration if needed # extra_hosts: # - "host.docker.internal:host-gateway" # Uncomment the following if you need persistent logging or data # volumes: # - ./logs:/tmp/logs