跳转至

自托管

Raven 支持从本地源码运行,也支持通过 Docker Compose 部署。Compose 部署通过 nginx 提供 WebUI,在同一个容器中运行 Raven 引擎及其子服务,并将持久化数据保存在命名卷中。

前置条件

Docker 部署需要 Docker Engine 和 Docker Compose v2。从源码运行需要 Python 3.12、uv、Node.js 和 npm;启动引擎前,还需安装项目依赖。

使用 Docker Compose 启动

Compose 配置会将 WebUI 和 Python 环境一并构建到镜像中,无需在宿主机上分别构建:

cd docker
docker compose up

打开 http://127.0.0.1:18793。容器运行完整的 gateway 引擎。在 设置 > 模型服务商(Settings > Model providers) 中添加的模型服务商会在下一轮生效,无需重启。

容器服务、登录方式、模型服务商配置和运维说明,请参阅 Docker 部署

配置

Compose 先加载 docker/.env 中的默认值,再应用可选文件 docker/.env.local 中的覆盖配置。凭据和部署专用配置应写入 .env.local,该文件会被 Git 忽略。

Raven 将配置、会话、工作区文件、日志和记忆保存在 RAVEN_HOME 下。Compose 部署中,该目录为 /data,由 raven-data 卷提供持久化存储。升级或重启时请保留该卷。docker compose down -v 会删除卷及其中的全部数据。

构建 Docker 镜像

使用 Makefile 目标构建镜像:

make docker-build

默认镜像标签为 raven:local。你也可以显式指定标签,或选择要包含的可选依赖:

make docker-build DOCKER_IMAGE=raven:local
docker build -t raven:local --build-arg RAVEN_EXTRAS="channels,tools,sandbox" .

要通过 Compose 运行本地镜像,请设置 RAVEN_IMAGE=raven:local,然后在 docker/ 目录运行 docker compose up。可以先导出该环境变量,也可以将赋值写在命令前。对应的 Makefile 命令为 RAVEN_IMAGE=raven:local make docker-up。运行 make docker-down 可停止服务。

从源码启动服务

在仓库根目录运行:

make install-deps
make build-ui
uv run raven web

raven web 会打开 WebUI,并在终端退出后保持引擎运行。默认地址为 http://127.0.0.1:18792。调试时可使用 uv run raven web --foreground,停止后台引擎可使用 uv run raven web --stop。Raven 可以在尚未配置模型时启动;之后在 设置 > 模型服务商(Settings > Model providers) 中添加配置,或运行 uv run raven onboard

如需启动引擎但不打开浏览器,请使用 uv run raven gateway