为团队配置 Open Terminal
当团队中有多个人都需要通过 OPL 数据空间使用 terminal 时,你主要有两种选择。
| 单容器 | 每用户独立容器 | |
|---|---|---|
| 方式 | 一个容器,内部按账户隔离 | 每个用户独立一个容器 |
| 隔离性 | 文件隔离,但系统资源共享 | 完整隔离 |
| 部署复杂度 | 只多一个设置 | 需要编排服务 |
| 适用场景 | 小团队、彼此信任 | 生产、多团队、不完全信任环境 |
| 包含于 | Open Terminal(免费) | Terminals(企业) |
方案 1:内建多用户模式
这是最简单的方式。打开一个设置,每个用户就会自动获得独立工作区。
docker run -d --name open-terminal -p 8000:8000 \
-v open-terminal:/home \
-e OPEN_TERMINAL_MULTI_USER=true \
-e OPEN_TERMINAL_API_KEY=your-secret-key \
ghcr.io/open-webui/open-terminal会发生什么
当用户通过 OPL 数据空间使用 terminal 时,Open Terminal 会自动:
- 为用户创建个人账户(通常基于 OPL 数据空间 user ID)
- 初始化私有 home 目录
/home/{user-id} - 以该用户身份运行命令
- 将文件访问限制在对应目录内
每个用户在文件浏览器里只能看到自己的文件。
哪些是隔离的,哪些是共享的
| 按用户隔离 | 共享 | |
|---|---|---|
| Home 目录与文件 | ✔ | |
| 运行中的命令 | ✔ | |
| 系统包 | ✔ | |
| CPU 和内存 | ✔ | |
| 网络访问 | ✔ |
适合小团队,不适合严格生产场景
这种模式虽然给每个人分配了独立工作区,但底层仍然是同一个容器。某个用户如果跑了一个极耗资源的脚本,其他人也会受到影响。
方案 2:使用 Terminals 提供每用户独立容器
对于更大规模或更强调隔离的场景,推荐使用 Terminals:
- 完整隔离:每个用户都有独立文件、进程和资源
- 按需创建:用户需要时才拉起容器,空闲后自动清理
- 资源限制:可按用户或策略控制 CPU、内存、存储
- 多环境支持:可以为不同团队定义不同环境
- Kubernetes 支持:适用于 Docker、Kubernetes、k3s 等
需要企业许可证
Terminals 需要 OPL 数据空间 Enterprise License。