BrowserUse_and_ComputerUse_.../docker-compose.yml

71 lines
1.7 KiB
YAML

services:
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=http://browser:9222
depends_on:
- browser
stdin_open: true
tty: true
restart: always
networks:
- hermes-net
deploy:
resources:
limits:
memory: 1.5G
browser:
build:
context: ./browser_env
dockerfile: Dockerfile.browser
container_name: hermes-browser
networks:
hermes-net:
aliases:
- browser
shm_size: '2gb'
volumes:
- browser_profiles:/src/browser_data
restart: always
tunnel:
image: cloudflare/cloudflared:latest
container_name: hermes-tunnel
restart: always
command: tunnel --url http://browser:6080
networks:
- hermes-net
volumes:
browser_profiles:
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