version: "3.8"

services:
  hermes-webui:
    build: .
    ports:
    # select only one; use 127.0.0.1 version to expose to localhost only
      - "127.0.0.1:8787:8787"
#      - "8787:8787"
    volumes:
      # Within the containe the tool expects to find the .hermes location at /home/hermeswebui/.hermes, so we mount it there; this allows you to manage agent profiles and other features that rely on the .hermes directory from your host machine, make sure to adapt the path if your HERMES_HOME is different
      # Mount hermes home for agent features and profile management
      - ${HERMES_HOME:-${HOME}/.hermes}:/home/hermeswebui/.hermes
      # Your workspace directory shown on first launch (adapt if yours is different, the container will use the mounted /workspace)
      - ${HERMES_HOME:-${HOME}}/workspace:/workspace
    environment:
      # Modify the UID and GID to match your user; docker compose starts as root by default, but the container will drop privileges to the specified UID/GID
      - WANTED_UID=${UID:-1000}
      - WANTED_GID=${GID:-1000}
      # Required: bind address and port
      - HERMES_WEBUI_HOST=0.0.0.0
      - HERMES_WEBUI_PORT=8787
      # Where to store sessions, workspaces, and other state (default: ~/.hermes/webui-mvp)
      - HERMES_WEBUI_STATE_DIR=/home/hermeswebui/.hermes/webui-mvp
      # Default workspace directory shown on first launch
#      - HERMES_WEBUI_DEFAULT_WORKSPACE=/workspace
      # Optional: set a password for remote access
      # - HERMES_WEBUI_PASSWORD=your-secret-password
    restart: unless-stopped

