71 lines
2.1 KiB
YAML
71 lines
2.1 KiB
YAML
services:
|
|
hermes:
|
|
image: ${HERMES_IMAGE:-nousresearch/hermes-agent}:${HERMES_TAG:-latest}
|
|
container_name: ${COMPOSE_PROJECT_NAME:-alan}-hermes
|
|
restart: unless-stopped
|
|
command: gateway run
|
|
shm_size: ${HERMES_SHM_SIZE:-1g}
|
|
ports:
|
|
- "127.0.0.1:${HERMES_API_PORT:-18642}:8642"
|
|
environment:
|
|
TZ: ${TZ:-Europe/Berlin}
|
|
volumes:
|
|
- ${HERMES_DATA_DIR:-./state/hermes}:/opt/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:8642/health', timeout=3).read()\""]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 45s
|
|
mem_limit: ${HERMES_MEMORY_LIMIT:-4g}
|
|
cpus: ${HERMES_CPUS:-2.0}
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
networks:
|
|
hermes_private:
|
|
agents_shared:
|
|
br0_uplink:
|
|
aliases:
|
|
- hermes
|
|
|
|
dashboard:
|
|
image: ${HERMES_IMAGE:-nousresearch/hermes-agent}:${HERMES_TAG:-latest}
|
|
container_name: ${COMPOSE_PROJECT_NAME:-alan}-hermes-dashboard
|
|
restart: unless-stopped
|
|
command: dashboard --host 0.0.0.0
|
|
profiles: ["dashboard"]
|
|
ports:
|
|
- "127.0.0.1:${HERMES_DASHBOARD_PORT:-19119}:9119"
|
|
environment:
|
|
TZ: ${TZ:-Europe/Berlin}
|
|
GATEWAY_HEALTH_URL: http://hermes:8642
|
|
volumes:
|
|
- ${HERMES_DATA_DIR:-./state/hermes}:/opt/data:ro
|
|
depends_on:
|
|
hermes:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:9119', timeout=3).read()\""]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
mem_limit: ${DASHBOARD_MEMORY_LIMIT:-512m}
|
|
cpus: ${DASHBOARD_CPUS:-0.5}
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
networks:
|
|
- hermes_private
|
|
|
|
networks:
|
|
hermes_private:
|
|
name: ${COMPOSE_PROJECT_NAME:-alan}_hermes_private
|
|
driver: bridge
|
|
internal: false
|
|
agents_shared:
|
|
name: ${AGENTS_SHARED_NETWORK:-alan_agents_shared}
|
|
external: true
|
|
br0_uplink:
|
|
name: ${BR0_DOCKER_NETWORK:-br0_lan}
|
|
external: true
|