收起左侧

hermes和webui三合一部署

1
回复
42
查看
[ 复制链接 ]

1

主题

1

回帖

0

牛值

江湖小虾

首先感谢清风小道君,应为主要的东西是人家写的,只是我更换了webui,换成了ekkoye8888/hermes-web-ui,这是github上的项目hermes-web-ui/README_zh.md at main · EKKOLearnAI/hermes-web-ui · GitHub

image1.png

目录结构说明

/vol2/1000/Docker/hermes/
**── docker-compose.yml
**── init.sh
**── data/                    # Hermes 数据存储
**   **── workspace/          # 工作空间目录
**── hermes/                 # Agent 源码
**── webui_data/             # WebUI 配置数据

init.sh 脚本:

#!/bin/bash
set -e

# 设置根目录
ROOT_DIR="/vol2/1000/Docker/hermes"

DEST="$ROOT_DIR/hermes"
DATA="$ROOT_DIR/data"
IMAGE="nousresearch/hermes-agent:latest"

# 创建必要的目录
mkdir -p "$DATA"
mkdir -p "$DEST"
mkdir -p "$ROOT_DIR/webui_data"
mkdir -p "$DATA/workspace"

echo "Fixing permissions to UID 1000..."
sudo chown -R 1000:1000 "$DATA"
sudo chmod -R 755 "$DATA"

if [ -f "$DEST/pyproject.toml" ]; then
    echo "Source already exists at $DEST"
else
    echo "Copying agent source from $IMAGE ..."
    docker run --rm \
        --user 0:0 \
        --entrypoint sh \
        -v "$DEST:/dest" \
        "$IMAGE" \
        -c 'cd /opt/hermes && tar \
            --exclude=.venv \
            --exclude=.playwright \
            --exclude=node_modules \
            --exclude=package.json \
            --exclude=package-lock.json \
            --exclude=__pycache__ \
            --exclude=hermes_agent.egg-info \
            --exclude=.git \
            --exclude=tests \
            --exclude=docs \
            --exclude=website \
            -cf - . | (cd /dest && tar xf -)'
    echo "Done. Source copied to $DEST"
fi

sudo chown -R 1000:1000 "$DEST"
sudo chmod -R 755 "$DEST"
sudo chown -R 1000:1000 "$ROOT_DIR/webui_data"
sudo chmod -R 755 "$ROOT_DIR/webui_data"
sudo chown -R 1000:1000 "$DATA/workspace"
sudo chmod -R 755 "$DATA/workspace"

echo ""
echo "Ready. Run: docker compose up -d"

再次感谢清风小道君提供这个脚本。

yaml编辑


version: '3.8'

services:
  hermes:
    image: nousresearch/hermes-agent:latest
    container_name: hermes
    restart: unless-stopped
    command: gateway run
    user: "1000:1000"
    ports:
      - "8642:8642"
    volumes:
      - ./hermes/data:/opt/data
    environment:
      - TZ=Asia/Shanghai
      - PATH=/opt/hermes/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    networks:
      - hermes-net

  dashboard:
    image: nousresearch/hermes-agent:latest
    container_name: hermes-dashboard
    restart: unless-stopped
    command: dashboard --host 0.0.0.0 --insecure
    user: "1000:1000"
    ports:
      - "9119:9119"
    volumes:
      - ./hermes/data:/opt/data
    environment:
      - GATEWAY_HEALTH_URL=http://hermes:8642
      - TZ=Asia/Shanghai
    networks:
      - hermes-net
    depends_on:
      - hermes

  webui:
    image: ekkoye8888/hermes-web-ui:latest
    container_name: hermes-webui
    restart: unless-stopped
    ports:
      - "6060:6060"
    volumes:
      - ./hermes/data:/home/hermeswebui/.hermes
      - ./hermes/hermes:/home/hermeswebui/.hermes/hermes-agent
      - ./hermes/data/workspace:/workspace
      - ./hermes/webui_data:/home/hermeswebui/.hermes-web-ui
    environment:
      - HERMES_HOME=/home/hermeswebui/.hermes
      - HERMES_WEB_UI_HOME=/home/hermeswebui/.hermes-web-ui
      - PORT=6060
      - BIND_HOST=0.0.0.0
      - TZ=Asia/Shanghai
      - WANTED_UID=1000
      - WANTED_GID=1000
      - WORKSPACE_BASE=/workspace
    networks:
      - hermes-net
    depends_on:
      - hermes

networks:
  hermes-net:
    driver: bridge

这个docker-compose是我用千问同时分析清风小道君和github两篇文章ai出来的,非常感谢大佬们,我只是为大家提供了一点点的便捷。

image.png

image.png

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

1

回帖

0

牛值

江湖小虾

2 小时前 楼主 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则