Commit f33c80a6 by Archer Committed by GitHub

perf: deploy (#6972)

* perf: deploy

* doc
parent 14373770
...@@ -2,59 +2,36 @@ ...@@ -2,59 +2,36 @@
### 正常更新(不动服务,只改版本) ### 正常更新(不动服务,只改版本)
1. 更新 `args.json` 中的版本号 1. 更新 `version/{version}/args.json` 中的版本号,例如 `version/v4.14/args.json``version/main/args.json`
2.`FastGPT` 目录执行 `pnpm run gen:deploy` 即可 2.`FastGPT` 目录执行 `node deploy/init.mjs` 即可
3. 脚本会同时更新 `deploy/dev``document/public/deploy/install.sh``document/public/deploy/docker/{version}` 下的 Docker 部署文件
### 加版本
比如要添加 `v4.15` 稳定版:
1. 创建 `version/v4.15`
2. 添加 `version/v4.15/args.json`
3. 添加 `version/v4.15/docker-compose.template.yml`
4. 执行 `node deploy/init.mjs`,脚本会自动扫描并生成 `document/public/deploy/docker/v4.15`
### 加服务 ### 加服务
比如要添加 `example` 服务: 比如要添加 `example` 服务:
1. `init.mjs``Services Enum` 中添加 fastgptExample: fastgpt-example 1. `init.mjs``Services Enum` 中添加 fastgptExample: fastgpt-example
2.`args.json` 中添加 image 和 tag, 注意 `args.json``key` 值,要和 `init.mjs``value` 值一致。 2. 在所有 `version/*/args.json` 中添加 image 和 tag, 注意 `args``key` 值,要和 `init.mjs``value` 值一致。
3. 更新 templates/docker-compose.[dev|prod].yml 文件,把服务的相关配置加进去,并且:服务的 image 改为 ${{example.image}}:${{example.tag}} 3. 更新所有需要生效的 `version/*/docker-compose.template.yml` 文件,把服务的相关配置加进去,并且:服务的 image 改为 ${{example.image}}:${{example.tag}}
4. 如需同步开发环境,再更新 `templates/docker-compose.dev.yml`
5. 执行 `node deploy/init.mjs` 重新生成部署文件
### 加向量库 ### 加向量库
比如添加 `exampleDB` 向量库: 比如添加 `exampleDB` 向量库:
1. 添加 vector service 配置在 `templates/vector` 下面,例如 `templates/vector/exampleDB.txt` 内容可以参考其他 txt,注意缩进,image 名字也要替换成 ${{exampleDB.image}}:${{exampleDB:tag}}, service name 必须是 `vectorDB` 1. 添加 vector service 配置在 `templates/vector` 下面,例如 `templates/vector/exampleDB.txt` 内容可以参考其他 txt,注意缩进,image 名字也要替换成 ${{exampleDB.image}}:${{exampleDB:tag}}, service name 必须是 `vectorDB`
2.`args.json` 中添加 `exampleDB` 的配置 2. 在所有 `version/*/args.json` 中添加 `exampleDB` 的配置
3. init.mjs vector enum 中添加 `vector` 3. 添加连接配置片段,例如 `templates/vector/exampleDB.config.txt`
4. init.mjs 中添加 vector 的相关配置: 4. 如需额外 `configs`,添加 `templates/vector/exampleDB.extra.txt`
5.`templates/vector/config.json` 中添加向量库配置,声明输出文件名、service 片段、连接配置和 extra 片段
```ts 6. 执行 `node deploy/init.mjs` 重新生成部署文件
const vector = {
// pg, milvus, ob ...
vector: {
db: '', // 空即可
config: `/
VECTOR_URL:vectordb://xxxxx
`, //注意 第一行反引号后面的 / 不能少(去除首个换行符); 左边的两个空格的缩进不能变,否则会语法错误
extra: `` // 额外的配置,可以看 ob 的那个,需要一个 config 字段引入 init.sql
}
}
```
5. init.mjs 读入 vector 配置
```json
{ // 这是个块作用域, 直接搜 read in Vectors
// read in Vectors
// pg, ob ....
const vectordb = fs.readFileSync(path.join(process.cwd(), 'templates', 'vector', 'vector.txt'));
vector.vector.db = String(vectordb);
}
```
6. init.mjs 最后生成的时候,需要添加
```ts
fs.promises.writeFile(
path.join(process.cwd(), 'docker', 'cn', 'docker-compose.vector.yml'),
replace(template, 'cn', VectorEnum.vector)
),
fs.promises.writeFile(
path.join(process.cwd(), 'docker', 'global', 'docker-compose.zilliz.yml'),
replace(template, 'global', VectorEnum.vector)
),
```
## yaml 的锚点和引用 ## yaml 的锚点和引用
......
...@@ -174,7 +174,7 @@ services: ...@@ -174,7 +174,7 @@ services:
retries: 3 retries: 3
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1
ports: ports:
- 3002:3000 - 3002:3000
networks: networks:
...@@ -220,7 +220,7 @@ services: ...@@ -220,7 +220,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1
ports: ports:
- 3003:3000 - 3003:3000
networks: networks:
...@@ -281,7 +281,7 @@ services: ...@@ -281,7 +281,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.2.0
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -294,7 +294,7 @@ services: ...@@ -294,7 +294,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.2.0
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
ports: ports:
...@@ -323,7 +323,7 @@ services: ...@@ -323,7 +323,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
ports: ports:
......
...@@ -174,7 +174,7 @@ services: ...@@ -174,7 +174,7 @@ services:
retries: 3 retries: 3
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1
ports: ports:
- 3002:3000 - 3002:3000
networks: networks:
...@@ -220,7 +220,7 @@ services: ...@@ -220,7 +220,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1
ports: ports:
- 3003:3000 - 3003:3000
networks: networks:
...@@ -281,7 +281,7 @@ services: ...@@ -281,7 +281,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1 image: ghcr.io/labring/fastgpt-agent-sandbox:v0.2.0
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -294,7 +294,7 @@ services: ...@@ -294,7 +294,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1 image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.2.0
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
ports: ports:
...@@ -323,7 +323,7 @@ services: ...@@ -323,7 +323,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
ports: ports:
......
{
"pg": {
"filename": "pg",
"dbFile": "pg.txt",
"configFile": "pg.config.txt"
},
"milvus": {
"filename": "milvus",
"dbFile": "milvus.txt",
"configFile": "milvus.config.txt"
},
"zilliz": {
"filename": "zilliz",
"configFile": "zilliz.config.txt"
},
"ob": {
"filename": "oceanbase",
"dbFile": "ob.txt",
"configFile": "ob.config.txt",
"extraFile": "ob.extra.txt"
},
"seekdb": {
"filename": "seekdb",
"dbFile": "seekdb.txt",
"configFile": "seekdb.config.txt"
},
"opengauss": {
"filename": "opengauss",
"dbFile": "opengauss.txt",
"configFile": "opengauss.config.txt"
}
}
MILVUS_ADDRESS: http://fastgpt-vector:19530
MILVUS_TOKEN: none
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
init_sql:
name: init_sql
content: |
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt
PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
MILVUS_ADDRESS: zilliz_cloud_address
MILVUS_TOKEN: zilliz_cloud_token
{ {
"tags": { "tags": {
"fastgpt": "v4.14.20", "fastgpt": "v4.15.0-beta1",
"fastgpt-code-sandbox": "v4.14.20", "fastgpt-code-sandbox": "v4.15.0-beta1",
"fastgpt-mcp_server": "v4.14.20", "fastgpt-mcp_server": "v4.15.0-beta1",
"fastgpt-plugin": "v0.6.2", "fastgpt-plugin": "v0.6.2",
"volume-manager": "v0.1", "volume-manager": "v0.2.0",
"agent-sandbox-image": "v0.1", "agent-sandbox-image": "v0.2.0",
"aiproxy": "v0.5.8",
"opensandbox-server": "v0.1.9", "opensandbox-server": "v0.1.9",
"opensandbox-execd": "v1.0.7", "opensandbox-execd": "v1.0.7",
"opensandbox-egress": "v1.0.3", "opensandbox-egress": "v1.0.3",
"aiproxy": "v0.5.6",
"aiproxy-pg": "0.8.0-pg15", "aiproxy-pg": "0.8.0-pg15",
"mongo": "5.0.32", "mongo": "5.0.32",
"redis": "7.2-alpine", "redis": "7.2-alpine",
......
{
"tags": {
"fastgpt": "v4.14.22",
"fastgpt-code-sandbox": "v4.14.22",
"fastgpt-mcp_server": "v4.14.22",
"fastgpt-plugin": "v0.6.2",
"volume-manager": "v0.1.2",
"agent-sandbox-image": "v0.1.2",
"aiproxy": "v0.5.8",
"opensandbox-server": "v0.1.9",
"opensandbox-execd": "v1.0.7",
"opensandbox-egress": "v1.0.3",
"aiproxy-pg": "0.8.0-pg15",
"mongo": "5.0.32",
"redis": "7.2-alpine",
"minio": "RELEASE.2025-09-07T16-13-09Z",
"pg": "0.8.0-pg15",
"milvus-minio": "RELEASE.2023-03-20T20-16-18Z",
"milvus-etcd": "v3.5.5",
"milvus-standalone": "v2.4.3",
"oceanbase": "4.3.5-lts",
"seekdb": "1.0.1.0-100000392025122619"
},
"images": {
"cn": {
"fastgpt": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt",
"fastgpt-plugin": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin",
"fastgpt-code-sandbox": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox",
"fastgpt-mcp_server": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server",
"volume-manager": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager",
"agent-sandbox-image": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox",
"opensandbox-server": "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-server",
"opensandbox-execd": "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd",
"opensandbox-egress": "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress",
"aiproxy": "registry.cn-hangzhou.aliyuncs.com/labring/aiproxy",
"aiproxy-pg": "registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector",
"mongo": "registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo",
"redis": "registry.cn-hangzhou.aliyuncs.com/fastgpt/redis",
"minio": "registry.cn-hangzhou.aliyuncs.com/fastgpt/minio",
"pg": "registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector",
"milvus-minio": "minio/minio",
"milvus-etcd": "quay.io/coreos/etcd",
"milvus-standalone": "milvusdb/milvus",
"oceanbase": "oceanbase/oceanbase-ce",
"seekdb": "oceanbase/seekdb"
},
"global": {
"fastgpt": "ghcr.io/labring/fastgpt",
"fastgpt-plugin": "ghcr.io/labring/fastgpt-plugin",
"fastgpt-code-sandbox": "ghcr.io/labring/fastgpt-code-sandbox",
"fastgpt-mcp_server": "ghcr.io/labring/fastgpt-mcp_server",
"volume-manager": "ghcr.io/labring/fastgpt-agent-volume-manager",
"agent-sandbox-image": "ghcr.io/labring/fastgpt-agent-sandbox",
"opensandbox-server": "opensandbox/server",
"opensandbox-execd": "opensandbox/execd",
"opensandbox-egress": "opensandbox/egress",
"aiproxy": "ghcr.io/labring/aiproxy",
"aiproxy-pg": "pgvector/pgvector",
"mongo": "mongo",
"redis": "redis",
"minio": "minio/minio",
"pg": "pgvector/pgvector",
"milvus-minio": "minio/minio",
"milvus-etcd": "quay.io/coreos/etcd",
"milvus-standalone": "milvusdb/milvus",
"oceanbase": "oceanbase/oceanbase-ce",
"seekdb": "oceanbase/seekdb"
}
}
}
...@@ -133,7 +133,7 @@ ${{vec.db}} ...@@ -133,7 +133,7 @@ ${{vec.db}}
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ${{fastgpt.image}}:${{fastgpt.tag}} image: ${{fastgpt.image}}:${{fastgpt.tag}}
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -162,7 +162,7 @@ ${{vec.db}} ...@@ -162,7 +162,7 @@ ${{vec.db}}
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -204,6 +204,7 @@ ${{vec.db}} ...@@ -204,6 +204,7 @@ ${{vec.db}}
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -251,11 +252,11 @@ ${{vec.db}} ...@@ -251,11 +252,11 @@ ${{vec.db}}
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
......
...@@ -65,6 +65,7 @@ SeekDB is a high-performance vector database based on MySQL protocol, fully comp ...@@ -65,6 +65,7 @@ SeekDB is a high-performance vector database based on MySQL protocol, fully comp
<Alert icon="🤖" context="success"> <Alert icon="🤖" context="success">
SeekDB uses MySQL protocol, fully compatible with OceanBase: SeekDB uses MySQL protocol, fully compatible with OceanBase:
- Supports 1536-dimensional vector retrieval - Supports 1536-dimensional vector retrieval
- Built-in HNSW index algorithm - Built-in HNSW index algorithm
- Batch insert and query optimization - Batch insert and query optimization
...@@ -124,7 +125,8 @@ bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh) ...@@ -124,7 +125,8 @@ bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh)
``` ```
#### Method 2: Manual Download #### Method 2: Manual Download
If your environment is non-*nix or can't access external networks, manually download `docker-compose.yml`.
If your environment is non-\*nix or can't access external networks, manually download `docker-compose.yml`.
1. Download the `docker-compose.yml` file: 1. Download the `docker-compose.yml` file:
...@@ -132,27 +134,29 @@ If your environment is non-*nix or can't access external networks, manually down ...@@ -132,27 +134,29 @@ If your environment is non-*nix or can't access external networks, manually down
<summary>Click to view docker-compose config file download links for different databases</summary> <summary>Click to view docker-compose config file download links for different databases</summary>
- **Pgvector** - **Pgvector**
- China mirror (Alibaba Cloud): [docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/cn/docker-compose.pg.yml) - China mirror (Alibaba Cloud): [docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.pg.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/global/docker-compose.pg.yml) - Global mirror (dockerhub, ghcr): [docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.pg.yml)
- **Oceanbase** - **Oceanbase**
- China mirror (Alibaba Cloud): [docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/cn/docker-compose.oceanbase.yml) - China mirror (Alibaba Cloud): [docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.oceanbase.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/global/docker-compose.oceanbase.yml) - Global mirror (dockerhub, ghcr): [docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.oceanbase.yml)
- **Milvus** - **Milvus**
- China mirror (Alibaba Cloud): [docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/cn/docker-compose.milvus.yml) - China mirror (Alibaba Cloud): [docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.milvus.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/global/docker-compose.milvus.yml) - Global mirror (dockerhub, ghcr): [docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.milvus.yml)
- **Zilliz** - **Zilliz**
- China mirror (Alibaba Cloud): [docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/cn/docker-compose.zilliz.yml) - China mirror (Alibaba Cloud): [docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.zilliz.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/global/docker-compose.zilliz.yml) - Global mirror (dockerhub, ghcr): [docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.zilliz.yml)
- **SeekDB** - **SeekDB**
- China mirror (Alibaba Cloud): [docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/cn/docker-compose.seekdb.yml) - China mirror (Alibaba Cloud): [docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.seekdb.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/global/docker-compose.seekdb.yml) - Global mirror (dockerhub, ghcr): [docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.seekdb.yml)
2. Download the `config.json` file: 2. Download the `config.json` file:
- [config.json](https://doc.fastgpt.cn/deploy/config/config.json) - [config.json](https://doc.fastgpt.cn/deploy/config/config.json)
</details> </details>
Download config.json file: Download config.json file:
- [config.json](https://doc.fastgpt.cn/deploy/config/config.json) - [config.json](https://doc.fastgpt.cn/deploy/config/config.json)
### 2. Modify Environment Variables ### 2. Modify Environment Variables
...@@ -165,7 +169,7 @@ These ports must be accessible: ...@@ -165,7 +169,7 @@ These ports must be accessible:
1. Port 3000 (FastGPT main service) 1. Port 3000 (FastGPT main service)
2. Port 9000 (S3 service) 2. Port 9000 (S3 service)
1. Port 3005 (FastGPT SSE MCP server service) 3. Port 3005 (FastGPT SSE MCP server service)
### 4. Start Containers ### 4. Start Containers
...@@ -192,9 +196,9 @@ Each container restart automatically initializes the root user with password `12 ...@@ -192,9 +196,9 @@ Each container restart automatically initializes the root user with password `12
Starting from V4.14.0, the fastgpt-plugin image only provides the runtime environment without pre-installed system plugins. All FastGPT systems must manually install system plugins. Starting from V4.14.0, the fastgpt-plugin image only provides the runtime environment without pre-installed system plugins. All FastGPT systems must manually install system plugins.
* Install via the plugin marketplace — by default it fetches from the public FastGPT Marketplace. - Install via the plugin marketplace — by default it fetches from the public FastGPT Marketplace.
* If your FastGPT can't access the marketplace, visit [FastGPT Plugin Marketplace](https://marketplace.fastgpt.cn/), download .pkg files, and import them via file upload. - If your FastGPT can't access the marketplace, visit [FastGPT Plugin Marketplace](https://marketplace.fastgpt.cn/), download .pkg files, and import them via file upload.
* You can also sort tools, set default installations, and manage tags. - You can also sort tools, set default installations, and manage tags.
![alt text](../../../public/imgs/image-121.png) ![alt text](../../../public/imgs/image-121.png)
...@@ -204,9 +208,9 @@ Starting from V4.14.0, the fastgpt-plugin image only provides the runtime enviro ...@@ -204,9 +208,9 @@ Starting from V4.14.0, the fastgpt-plugin image only provides the runtime enviro
| FastGPT-plugin Version | FastGPT Main Service | | FastGPT-plugin Version | FastGPT Main Service |
| ---------------------- | -------------------- | | ---------------------- | -------------------- |
| 0.6.x | >= 4.14.11 | | 0.6.x | >= 4.14.11 |
| 0.5.x | >= 4.14.6, < 4.14.11 | | 0.5.x | >= 4.14.6, < 4.14.11 |
| < 0.5.0 | < 4.14.6 | < 0.5.0 | < 4.14.6 |
### S3 Connection Issues ### S3 Connection Issues
......
...@@ -9,7 +9,7 @@ description: 'FastGPT V4.14.10 Release Notes' ...@@ -9,7 +9,7 @@ description: 'FastGPT V4.14.10 Release Notes'
The following configuration adjustments are for `docker compose` deployments. `sealos` commercial users can contact support for an online sandbox service solution. The following configuration adjustments are for `docker compose` deployments. `sealos` commercial users can contact support for an online sandbox service solution.
Open the [latest yml deployment file](https://github.com/labring/FastGPT/blob/main/deploy/docker/global/docker-compose.pg.yml) and add the following: Open the [latest yml deployment file](https://github.com/labring/FastGPT/blob/main/document/public/deploy/docker/v4.14/global/docker-compose.pg.yml) and add the following:
1. Add the `x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'` variable configuration at the top of the file. 1. Add the `x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'` variable configuration at the top of the file.
2. Add 3 new services: `opensandbox-server`, `volume-manager`, and `agent-sandbox-image`. 2. Add 3 new services: `opensandbox-server`, `volume-manager`, and `agent-sandbox-image`.
......
...@@ -9,7 +9,7 @@ description: 'FastGPT V4.14.10 更新说明' ...@@ -9,7 +9,7 @@ description: 'FastGPT V4.14.10 更新说明'
以下针对的是 `docker compose` 部署方案的配置调整,使用 `sealos` 的商业版用户,可私信支持人员,提供在线的沙盒服务方案。 以下针对的是 `docker compose` 部署方案的配置调整,使用 `sealos` 的商业版用户,可私信支持人员,提供在线的沙盒服务方案。
参考[最新 yml 部署文件](https://github.com/labring/FastGPT/blob/main/deploy/docker/cn/docker-compose.pg.yml),调整本地 yml 文件,加入以下内容: 参考[最新 yml 部署文件](https://github.com/labring/FastGPT/blob/main/document/public/deploy/docker/v4.14/cn/docker-compose.pg.yml),调整本地 yml 文件,加入以下内容:
1. 在文件顶部增加 `x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'` 变量配置。 1. 在文件顶部增加 `x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'` 变量配置。
2. 增加 5 组 services: `opensandbox-server` , `opensandbox-agent-sandbox-image` , `opensandbox-execd-image` , `opensandbox-egress-image` , `fastgpt-volume-manager` 2. 增加 5 组 services: `opensandbox-server` , `opensandbox-agent-sandbox-image` , `opensandbox-execd-image` , `opensandbox-egress-image` , `fastgpt-volume-manager`
......
...@@ -7,7 +7,7 @@ description: 'FastGPT V4.10.0 Update Notes' ...@@ -7,7 +7,7 @@ description: 'FastGPT V4.10.0 Update Notes'
### Docker Deployment ### Docker Deployment
- Refer to the latest [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-pgvector.yml) file to add the `fastgpt-plugin` and `minio` services. - Refer to the latest [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/document/public/deploy/docker/main/global/docker-compose.pg.yml) file to add the `fastgpt-plugin` and `minio` services.
- Set the `fastgpt-plugin` environment variable `AUTH_TOKEN` to a sufficiently complex value. - Set the `fastgpt-plugin` environment variable `AUTH_TOKEN` to a sufficiently complex value.
- Set the `fastgpt-plugin` environment variable `MINIO_CUSTOM_ENDPOINT` to `http://ip:port` or a relevant domain name that is accessible to FastGPT users. - Set the `fastgpt-plugin` environment variable `MINIO_CUSTOM_ENDPOINT` to `http://ip:port` or a relevant domain name that is accessible to FastGPT users.
- Update the environment variables for the `fastgpt` and `fastgpt-pro` (commercial edition) containers: - Update the environment variables for the `fastgpt` and `fastgpt-pro` (commercial edition) containers:
...@@ -16,6 +16,7 @@ description: 'FastGPT V4.10.0 Update Notes' ...@@ -16,6 +16,7 @@ description: 'FastGPT V4.10.0 Update Notes'
PLUGIN_BASE_URL=http://fastgpt-plugin:3000 PLUGIN_BASE_URL=http://fastgpt-plugin:3000
PLUGIN_TOKEN=the AUTH_TOKEN value you just set PLUGIN_TOKEN=the AUTH_TOKEN value you just set
``` ```
- Update the `fastgpt` and `fastgpt-pro` image tags to: v4.10.0-fix - Update the `fastgpt` and `fastgpt-pro` image tags to: v4.10.0-fix
- Run `docker-compose up -d` to start/update all services. - Run `docker-compose up -d` to start/update all services.
......
...@@ -7,25 +7,26 @@ description: 'FastGPT V4.10.0 更新说明' ...@@ -7,25 +7,26 @@ description: 'FastGPT V4.10.0 更新说明'
### Docker 版本 ### Docker 版本
- 参考最新的[docker-compose.yml](https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-pgvector.yml)文件,加入`fastgpt-plugin`和`minio`服务。 - 参考最新的 [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/document/public/deploy/docker/main/global/docker-compose.pg.yml) 文件,加入 `fastgpt-plugin` 和 `minio` 服务。
- 修改`fastgpt-plugin`环境变量`AUTH_TOKEN`为较复杂的值。 - 修改 `fastgpt-plugin` 环境变量 `AUTH_TOKEN` 为较复杂的值。
- 修改`fastgpt-plugin`环境变量`MINIO_CUSTOM_ENDPOINT`为`http://ip:port` 或相关域名,要求fastgpt 用户可访问。 - 修改 `fastgpt-plugin` 环境变量 `MINIO_CUSTOM_ENDPOINT` 为 `http://ip:port` 或相关域名,要求 fastgpt 用户可访问。
- 更新`fastgpt`和`fastgpt-pro`(商业版)容器的环境变量: - 更新 `fastgpt` 和 `fastgpt-pro` (商业版)容器的环境变量:
``` ```
PLUGIN_BASE_URL=http://fastgpt-plugin:3000 PLUGIN_BASE_URL=http://fastgpt-plugin:3000
PLUGIN_TOKEN=刚修改的 AUTH_TOKEN 值 PLUGIN_TOKEN=刚修改的 AUTH_TOKEN 值
``` ```
- 更新`fastgpt`和`fastgpt-pro`镜像 tag: v4.10.0-fix
- `docker-compose up -d`启动/更新所有服务。 - 更新 `fastgpt` 和 `fastgpt-pro` 镜像 tag: v4.10.0-fix
- `docker-compose up -d` 启动/更新所有服务。
### Sealos 版本 ### Sealos 版本
- 在 Sealos 桌面的`对象存储`中,新建一个存储桶,设置`publicRead`权限。并获取相关密钥: - 在 Sealos 桌面的 `对象存储` 中,新建一个存储桶,设置 `publicRead` 权限。并获取相关密钥:
![](../../../../public/imgs/sealos-s3.png) ![](../../../../public/imgs/sealos-s3.png)
- 部署`fastgpt-plugin`服务,镜像`registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.1.0`,内网暴露端口3000,无需公网访问,设置环境变量: - 部署 `fastgpt-plugin` 服务,镜像 `registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.1.0`,内网暴露端口 3000,无需公网访问,设置环境变量:
``` ```
AUTH_TOKEN=鉴权 token AUTH_TOKEN=鉴权 token
...@@ -43,7 +44,7 @@ MINIO_SECRET_KEY=Secret Key ...@@ -43,7 +44,7 @@ MINIO_SECRET_KEY=Secret Key
MINIO_BUCKET=存储桶名 MINIO_BUCKET=存储桶名
``` ```
- 更新`fastgpt`和`fastgpt-pro`(商业版)容器的环境变量以及镜像 tag: v4.10.0-fix - 更新 `fastgpt` 和 `fastgpt-pro` (商业版)容器的环境变量以及镜像 tag: v4.10.0-fix
``` ```
PLUGIN_BASE_URL=fastgpt-plugin 服务的内网地址 PLUGIN_BASE_URL=fastgpt-plugin 服务的内网地址
......
...@@ -16,7 +16,7 @@ SANDBOX_URL=internal-network-address ...@@ -16,7 +16,7 @@ SANDBOX_URL=internal-network-address
## Docker Deployment ## Docker Deployment
You can pull the latest [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose.yml) file for reference. You can pull the latest [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/document/public/deploy/docker/main/global/docker-compose.pg.yml) file for reference.
1. Add a new `sandbox` container. 1. Add a new `sandbox` container.
2. Add the `SANDBOX_URL` environment variable to the fastgpt and fastgpt-pro (commercial edition) containers. 2. Add the `SANDBOX_URL` environment variable to the fastgpt and fastgpt-pro (commercial edition) containers.
......
...@@ -6,7 +6,7 @@ description: FastGPT V4.8.2 更新说明 ...@@ -6,7 +6,7 @@ description: FastGPT V4.8.2 更新说明
## Sealos 升级说明 ## Sealos 升级说明
1. 在应用管理中新建一个应用,镜像为:registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.1 1. 在应用管理中新建一个应用,镜像为:registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.1
2. 无需外网访问地址,端口号为3000 2. 无需外网访问地址,端口号为 3000
3. 部署完后,复制应用的内网地址 3. 部署完后,复制应用的内网地址
4. 点击变更`FastGPT - 修改环境变量,增加下面的环境变量即可 4. 点击变更`FastGPT - 修改环境变量,增加下面的环境变量即可
...@@ -16,7 +16,7 @@ SANDBOX_URL=内网地址 ...@@ -16,7 +16,7 @@ SANDBOX_URL=内网地址
## Docker 部署 ## Docker 部署
可以拉取最新 [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose.yml) 文件参考 可以拉取最新 [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/document/public/deploy/docker/main/global/docker-compose.pg.yml) 文件参考
1. 新增一个容器 `sandbox` 1. 新增一个容器 `sandbox`
2. fastgpt 和 fastgpt-pro(商业版) 容器新增环境变量: `SANDBOX_URL` 2. fastgpt 和 fastgpt-pro(商业版) 容器新增环境变量: `SANDBOX_URL`
...@@ -24,7 +24,7 @@ SANDBOX_URL=内网地址 ...@@ -24,7 +24,7 @@ SANDBOX_URL=内网地址
## V4.8.2 更新说明 ## V4.8.2 更新说明
1. 新增 - js代码运行节点(更完整的type提醒,后续继续完善) 1. 新增 - js 代码运行节点(更完整的 type 提醒,后续继续完善)
2. 新增 - 内容提取节点支持数据类型选择 2. 新增 - 内容提取节点支持数据类型选择
3. 修复 - 新增的站点同步无法使用 3. 修复 - 新增的站点同步无法使用
4. 修复 - 定时任务无法输入内容 4. 修复 - 定时任务无法输入内容
...@@ -11,7 +11,7 @@ description: FastGPT V4.8.3 Release Notes ...@@ -11,7 +11,7 @@ description: FastGPT V4.8.3 Release Notes
## V4.8.3 Release Notes ## V4.8.3 Release Notes
1. New - Milvus database support. See the latest [docker-compose-milvus.yml](https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-milvus.yml) for reference. 1. New - Milvus database support. See the latest [docker-compose-milvus.yml](https://github.com/labring/FastGPT/blob/main/document/public/deploy/docker/main/global/docker-compose.milvus.yml) for reference.
2. New - Added logging for empty answers in the chat API to help troubleshoot model issues. 2. New - Added logging for empty answers in the chat API to help troubleshoot model issues.
3. New - If/Else conditional node now supports regex for string matching. 3. New - If/Else conditional node now supports regex for string matching.
4. New - Code execution node now supports console.log for debug output. 4. New - Code execution node now supports console.log for debug output.
......
...@@ -11,8 +11,8 @@ description: FastGPT V4.8.3 更新说明 ...@@ -11,8 +11,8 @@ description: FastGPT V4.8.3 更新说明
## V4.8.3 更新说明 ## V4.8.3 更新说明
1. 新增 - 支持 Milvus 数据库, 可参考最新的 [docker-compose-milvus.yml](https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-milvus.yml). 1. 新增 - 支持 Milvus 数据库,可参考最新的 [docker-compose-milvus.yml](https://github.com/labring/FastGPT/blob/main/document/public/deploy/docker/main/global/docker-compose.milvus.yml) .
2. 新增 - 给 chat 接口 empty answer 增加 log,便于排查模型问题。 2. 新增 - 给 chat 接口 empty answer 增加 log,便于排查模型问题。
3. 新增 - ifelse判断器,字符串支持正则。 3. 新增 - ifelse 判断器,字符串支持正则。
4. 新增 - 代码运行支持 console.log 输出调试。 4. 新增 - 代码运行支持 console.log 输出调试。
5. 修复 - 变量更新在 Debug 模式下出错。 5. 修复 - 变量更新在 Debug 模式下出错。
...@@ -12,7 +12,7 @@ description: FastGPT V4.9.0 Release Notes ...@@ -12,7 +12,7 @@ description: FastGPT V4.9.0 Release Notes
- Update FastGPT image tag: v4.9.0 - Update FastGPT image tag: v4.9.0
- Update FastGPT Pro image tag: v4.9.0 - Update FastGPT Pro image tag: v4.9.0
- Sandbox image: no update required - Sandbox image: no update required
- Update PG container to v0.8.0-pg15. See the [latest yml](https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml) - Update PG container to v0.8.0-pg15. See the [latest yml](https://raw.githubusercontent.com/labring/FastGPT/main/document/public/deploy/docker/main/global/docker-compose.pg.yml)
### 3. Replace OneAPI (Optional) ### 3. Replace OneAPI (Optional)
...@@ -20,7 +20,7 @@ Follow this step if you want to replace OneAPI with [AI Proxy](https://github.co ...@@ -20,7 +20,7 @@ Follow this step if you want to replace OneAPI with [AI Proxy](https://github.co
#### 1. Modify the yml File #### 1. Modify the yml File
Refer to the [latest yml](https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml) file. OneAPI has been removed and AI Proxy configuration has been added, including one service and one PgSQL database. Append the `aiproxy` configuration after the OneAPI configuration (don't remove OneAPI yet — the initialization process will automatically sync OneAPI's configuration). Refer to the [latest yml](https://raw.githubusercontent.com/labring/FastGPT/main/document/public/deploy/docker/main/global/docker-compose.pg.yml) file. OneAPI has been removed and AI Proxy configuration has been added, including one service and one PgSQL database. Append the `aiproxy` configuration after the OneAPI configuration (don't remove OneAPI yet — the initialization process will automatically sync OneAPI's configuration).
<details> <details>
<summary>AI Proxy Yml Configuration</summary> <summary>AI Proxy Yml Configuration</summary>
......
...@@ -12,7 +12,7 @@ description: FastGPT V4.9.0 更新说明 ...@@ -12,7 +12,7 @@ description: FastGPT V4.9.0 更新说明
- 更新 FastGPT 镜像 tag: v4.9.0 - 更新 FastGPT 镜像 tag: v4.9.0
- 更新 FastGPT 商业版镜像 tag: v4.9.0 - 更新 FastGPT 商业版镜像 tag: v4.9.0
- Sandbox 镜像,可以不更新 - Sandbox 镜像,可以不更新
- 更新 PG 容器为 v0.8.0-pg15, 可以查看[最新的 yml](https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml) - 更新 PG 容器为 v0.8.0-pg15, 可以查看[最新的 yml](https://raw.githubusercontent.com/labring/FastGPT/main/document/public/deploy/docker/main/global/docker-compose.pg.yml)
### 3. 替换 OneAPI(可选) ### 3. 替换 OneAPI(可选)
...@@ -20,7 +20,7 @@ description: FastGPT V4.9.0 更新说明 ...@@ -20,7 +20,7 @@ description: FastGPT V4.9.0 更新说明
#### 1. 修改 yml 文件 #### 1. 修改 yml 文件
参考[最新的 yml](https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml) 文件。里面已移除 OneAPI 并添加了 AIProxy配置。包含一个服务和一个 PgSQL 数据库。将 `aiproxy` 的配置`追加`到 OneAPI 的配置后面(先不要删除 OneAPI,有一个初始化会自动同步 OneAPI 的配置) 参考[最新的 yml](https://raw.githubusercontent.com/labring/FastGPT/main/document/public/deploy/docker/main/global/docker-compose.pg.yml) 文件。里面已移除 OneAPI 并添加了 AIProxy 配置。包含一个服务和一个 PgSQL 数据库。将 `aiproxy` 的配置 `追加` 到 OneAPI 的配置后面(先不要删除 OneAPI,有一个初始化会自动同步 OneAPI 的配置)
<details> <details>
<summary>AI Proxy Yml 配置</summary> <summary>AI Proxy Yml 配置</summary>
...@@ -92,7 +92,7 @@ description: FastGPT V4.9.0 更新说明 ...@@ -92,7 +92,7 @@ description: FastGPT V4.9.0 更新说明
`docker-compose down` 停止服务,然后 `docker-compose up -d` 启动服务,此时会追加 `aiproxy` 服务,并修改 FastGPT 的配置。 `docker-compose down` 停止服务,然后 `docker-compose up -d` 启动服务,此时会追加 `aiproxy` 服务,并修改 FastGPT 的配置。
#### 4. 执行OneAPI迁移AI proxy脚本 #### 4. 执行 OneAPI 迁移 AI proxy 脚本
- 可联网方案: - 可联网方案:
...@@ -111,7 +111,7 @@ curl --location --request POST 'http://localhost:3000/api/channels/import/oneapi ...@@ -111,7 +111,7 @@ curl --location --request POST 'http://localhost:3000/api/channels/import/oneapi
# 返回 {"data":[],"success":true} 代表成功 # 返回 {"data":[],"success":true} 代表成功
``` ```
- 无法联网时,可打开`aiproxy`的外网暴露端口,然后在本地执行脚本。 - 无法联网时,可打开 `aiproxy` 的外网暴露端口,然后在本地执行脚本。
aiProxy 暴露端口:3003:3000,修改后重新 `docker-compose up -d` 启动服务。 aiProxy 暴露端口:3003:3000,修改后重新 `docker-compose up -d` 启动服务。
...@@ -128,9 +128,9 @@ curl --location --request POST 'http://localhost:3003/api/channels/import/oneapi ...@@ -128,9 +128,9 @@ curl --location --request POST 'http://localhost:3003/api/channels/import/oneapi
- 如果不熟悉 docker 操作,建议不要走脚本迁移,直接删除 OneAPI 所有内容,然后手动重新添加渠道。 - 如果不熟悉 docker 操作,建议不要走脚本迁移,直接删除 OneAPI 所有内容,然后手动重新添加渠道。
#### 5. 进入 FastGPT 检查`AI Proxy` 服务是否正常启动。 #### 5. 进入 FastGPT 检查 `AI Proxy` 服务是否正常启动。
登录 root 账号后,在`账号-模型提供商`页面,可以看到多出了`模型渠道`和`调用日志`两个选项,打开模型渠道,可以看到之前 OneAPI 的渠道,说明迁移完成,此时可以手动再检查下渠道是否正常。 登录 root 账号后,在 `账号-模型提供商` 页面,可以看到多出了 `模型渠道` 和 `调用日志` 两个选项,打开模型渠道,可以看到之前 OneAPI 的渠道,说明迁移完成,此时可以手动再检查下渠道是否正常。
#### 6. 删除 OneAPI 服务 #### 6. 删除 OneAPI 服务
...@@ -144,7 +144,7 @@ docker-compose up -d ...@@ -144,7 +144,7 @@ docker-compose up -d
### 4. 运行 FastGPT 升级脚本 ### 4. 运行 FastGPT 升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。 从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成 **FastGPT 域名**。
```bash ```bash
curl --location --request POST 'https://{{host}}/api/admin/initv490' \ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
...@@ -163,11 +163,11 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \ ...@@ -163,11 +163,11 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
1. 弃用 - 之前私有化部署的自定义文件解析方案,请同步更新到最新的配置方案。[点击查看 PDF 增强解析配置](../../config/json.mdx#使用-doc2x-解析-pdf-文件) 1. 弃用 - 之前私有化部署的自定义文件解析方案,请同步更新到最新的配置方案。[点击查看 PDF 增强解析配置](../../config/json.mdx#使用-doc2x-解析-pdf-文件)
2. 弃用 - 弃用旧版本地文件上传 API:/api/core/dataset/collection/create/file(以前仅商业版可用的 API,该接口已放切换成:/api/core/dataset/collection/create/localFile) 2. 弃用 - 弃用旧版本地文件上传 API:/api/core/dataset/collection/create/file(以前仅商业版可用的 API,该接口已放切换成:/api/core/dataset/collection/create/localFile)
3. 停止维护,即将弃用 - 外部文件库相关 API,可通过 API 文件库替代。 3. 停止维护,即将弃用 - 外部文件库相关 API,可通过 API 文件库替代。
4. API更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType`字段未来仅支持`chunk`和`QA`两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版`trainingType=auto`代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](../../../openapi/dataset.mdx) 4. API 更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType` 字段未来仅支持 `chunk` 和 `QA` 两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版 `trainingType=auto` 代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](../../../openapi/dataset.mdx)
## 🚀 新增内容 ## 🚀 新增内容
1. PDF增强解析交互添加到页面上。同时内嵌 Doc2x 服务,可直接使用 Doc2x 服务解析 PDF 文件。 1. PDF 增强解析交互添加到页面上。同时内嵌 Doc2x 服务,可直接使用 Doc2x 服务解析 PDF 文件。
2. 图片自动标注,同时修改知识库文件上传部分数据逻辑和交互。 2. 图片自动标注,同时修改知识库文件上传部分数据逻辑和交互。
3. pg vector 插件升级 0.8.0 版本,引入迭代搜索,减少部分数据无法被检索的情况。 3. pg vector 插件升级 0.8.0 版本,引入迭代搜索,减少部分数据无法被检索的情况。
4. 新增 qwen-qwq 系列模型配置。 4. 新增 qwen-qwq 系列模型配置。
......
...@@ -278,7 +278,7 @@ ...@@ -278,7 +278,7 @@
"content/self-host/upgrading/4-14/4149.en.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/4-14/4149.en.mdx": "2026-04-26T21:08:47+08:00",
"content/self-host/upgrading/4-14/4149.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/4-14/4149.mdx": "2026-04-26T21:08:47+08:00",
"content/self-host/upgrading/4-15/4150.mdx": "2026-05-20T17:52:26+08:00", "content/self-host/upgrading/4-15/4150.mdx": "2026-05-20T17:52:26+08:00",
"content/self-host/upgrading/4-15/41502.mdx": "2026-05-23T22:47:02+08:00", "content/self-host/upgrading/4-15/41502.mdx": "2026-05-23T23:33:02+08:00",
"content/self-host/upgrading/outdated/40.en.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/outdated/40.en.mdx": "2026-04-26T21:08:47+08:00",
"content/self-host/upgrading/outdated/40.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/outdated/40.mdx": "2026-04-26T21:08:47+08:00",
"content/self-host/upgrading/outdated/41.en.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/outdated/41.en.mdx": "2026-04-26T21:08:47+08:00",
......
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -43,7 +41,6 @@ x-log-config: &x-log-config ...@@ -43,7 +41,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
MILVUS_ADDRESS: http://fastgpt-vector:19530 MILVUS_ADDRESS: http://fastgpt-vector:19530
MILVUS_TOKEN: none MILVUS_TOKEN: none
services: services:
# Vector DB # Vector DB
...@@ -104,7 +101,6 @@ services: ...@@ -104,7 +101,6 @@ services:
depends_on: depends_on:
- 'fastgpt-milvus-etcd' - 'fastgpt-milvus-etcd'
- 'fastgpt-milvus-minio' - 'fastgpt-milvus-minio'
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -192,14 +188,13 @@ services: ...@@ -192,14 +188,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -221,7 +216,7 @@ services: ...@@ -221,7 +216,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -250,20 +245,6 @@ services: ...@@ -250,20 +245,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -271,7 +252,7 @@ services: ...@@ -271,7 +252,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -310,17 +291,17 @@ services: ...@@ -310,17 +291,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -356,79 +337,9 @@ services: ...@@ -356,79 +337,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -479,8 +390,6 @@ networks: ...@@ -479,8 +390,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -497,31 +406,3 @@ volumes: ...@@ -497,31 +406,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7"
[egress]
image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -43,7 +41,6 @@ x-log-config: &x-log-config ...@@ -43,7 +41,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB # Vector DB
fastgpt-vector: fastgpt-vector:
...@@ -82,7 +79,6 @@ services: ...@@ -82,7 +79,6 @@ services:
timeout: 10s timeout: 10s
retries: 1000 retries: 1000
start_period: 10s start_period: 10s
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -170,14 +166,13 @@ services: ...@@ -170,14 +166,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -199,7 +194,7 @@ services: ...@@ -199,7 +194,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -228,20 +223,6 @@ services: ...@@ -228,20 +223,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -249,7 +230,7 @@ services: ...@@ -249,7 +230,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -288,17 +269,17 @@ services: ...@@ -288,17 +269,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -334,79 +315,9 @@ services: ...@@ -334,79 +315,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -457,8 +368,6 @@ networks: ...@@ -457,8 +368,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -477,33 +386,7 @@ volumes: ...@@ -477,33 +386,7 @@ volumes:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs: configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7"
[egress]
image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
init_sql: init_sql:
name: init_sql name: init_sql
content: | content: |
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30; ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -152,14 +150,13 @@ services: ...@@ -152,14 +150,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -181,7 +178,7 @@ services: ...@@ -181,7 +178,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -210,20 +207,6 @@ services: ...@@ -210,20 +207,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -231,7 +214,7 @@ services: ...@@ -231,7 +214,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -270,17 +253,17 @@ services: ...@@ -270,17 +253,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -316,79 +299,9 @@ services: ...@@ -316,79 +299,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -439,8 +352,6 @@ networks: ...@@ -439,8 +352,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -457,31 +368,3 @@ volumes: ...@@ -457,31 +368,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7"
[egress]
image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -63,7 +61,6 @@ services: ...@@ -63,7 +61,6 @@ services:
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 10 retries: 10
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -151,14 +148,13 @@ services: ...@@ -151,14 +148,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -180,7 +176,7 @@ services: ...@@ -180,7 +176,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -209,20 +205,6 @@ services: ...@@ -209,20 +205,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -230,7 +212,7 @@ services: ...@@ -230,7 +212,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -269,17 +251,17 @@ services: ...@@ -269,17 +251,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -315,79 +297,9 @@ services: ...@@ -315,79 +297,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -438,8 +350,6 @@ networks: ...@@ -438,8 +350,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -456,31 +366,3 @@ volumes: ...@@ -456,31 +366,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7"
[egress]
image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -43,7 +41,6 @@ x-log-config: &x-log-config ...@@ -43,7 +41,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB # Vector DB
fastgpt-vector: fastgpt-vector:
...@@ -69,7 +66,6 @@ services: ...@@ -69,7 +66,6 @@ services:
timeout: 10s timeout: 10s
retries: 1000 retries: 1000
start_period: 10s start_period: 10s
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -157,14 +153,13 @@ services: ...@@ -157,14 +153,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -186,7 +181,7 @@ services: ...@@ -186,7 +181,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -215,20 +210,6 @@ services: ...@@ -215,20 +210,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -236,7 +217,7 @@ services: ...@@ -236,7 +217,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -275,17 +256,17 @@ services: ...@@ -275,17 +256,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -321,79 +302,9 @@ services: ...@@ -321,79 +302,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -444,8 +355,6 @@ networks: ...@@ -444,8 +355,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -462,31 +371,3 @@ volumes: ...@@ -462,31 +371,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7"
[egress]
image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -134,14 +132,13 @@ services: ...@@ -134,14 +132,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -163,7 +160,7 @@ services: ...@@ -163,7 +160,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -192,20 +189,6 @@ services: ...@@ -192,20 +189,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -213,7 +196,7 @@ services: ...@@ -213,7 +196,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -252,17 +235,17 @@ services: ...@@ -252,17 +235,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -298,79 +281,9 @@ services: ...@@ -298,79 +281,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -421,8 +334,6 @@ networks: ...@@ -421,8 +334,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -439,31 +350,3 @@ volumes: ...@@ -439,31 +350,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd:v1.0.7"
[egress]
image = "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -43,7 +41,6 @@ x-log-config: &x-log-config ...@@ -43,7 +41,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
MILVUS_ADDRESS: http://fastgpt-vector:19530 MILVUS_ADDRESS: http://fastgpt-vector:19530
MILVUS_TOKEN: none MILVUS_TOKEN: none
services: services:
# Vector DB # Vector DB
...@@ -104,7 +101,6 @@ services: ...@@ -104,7 +101,6 @@ services:
depends_on: depends_on:
- 'fastgpt-milvus-etcd' - 'fastgpt-milvus-etcd'
- 'fastgpt-milvus-minio' - 'fastgpt-milvus-minio'
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -192,14 +188,13 @@ services: ...@@ -192,14 +188,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -221,7 +216,7 @@ services: ...@@ -221,7 +216,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -250,20 +245,6 @@ services: ...@@ -250,20 +245,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -271,7 +252,7 @@ services: ...@@ -271,7 +252,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -310,17 +291,17 @@ services: ...@@ -310,17 +291,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -356,79 +337,9 @@ services: ...@@ -356,79 +337,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: opensandbox/server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: opensandbox/execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: opensandbox/egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -479,8 +390,6 @@ networks: ...@@ -479,8 +390,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -497,31 +406,3 @@ volumes: ...@@ -497,31 +406,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "opensandbox/execd:v1.0.7"
[egress]
image = "opensandbox/egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -43,7 +41,6 @@ x-log-config: &x-log-config ...@@ -43,7 +41,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB # Vector DB
fastgpt-vector: fastgpt-vector:
...@@ -82,7 +79,6 @@ services: ...@@ -82,7 +79,6 @@ services:
timeout: 10s timeout: 10s
retries: 1000 retries: 1000
start_period: 10s start_period: 10s
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -170,14 +166,13 @@ services: ...@@ -170,14 +166,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -199,7 +194,7 @@ services: ...@@ -199,7 +194,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -228,20 +223,6 @@ services: ...@@ -228,20 +223,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -249,7 +230,7 @@ services: ...@@ -249,7 +230,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -288,17 +269,17 @@ services: ...@@ -288,17 +269,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -334,79 +315,9 @@ services: ...@@ -334,79 +315,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: opensandbox/server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: opensandbox/execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: opensandbox/egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -457,8 +368,6 @@ networks: ...@@ -457,8 +368,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -477,33 +386,7 @@ volumes: ...@@ -477,33 +386,7 @@ volumes:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs: configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "opensandbox/execd:v1.0.7"
[egress]
image = "opensandbox/egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
init_sql: init_sql:
name: init_sql name: init_sql
content: | content: |
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30; ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -152,14 +150,13 @@ services: ...@@ -152,14 +150,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -181,7 +178,7 @@ services: ...@@ -181,7 +178,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -210,20 +207,6 @@ services: ...@@ -210,20 +207,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -231,7 +214,7 @@ services: ...@@ -231,7 +214,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -270,17 +253,17 @@ services: ...@@ -270,17 +253,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -316,79 +299,9 @@ services: ...@@ -316,79 +299,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: opensandbox/server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: opensandbox/execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: opensandbox/egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -439,8 +352,6 @@ networks: ...@@ -439,8 +352,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -457,31 +368,3 @@ volumes: ...@@ -457,31 +368,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "opensandbox/execd:v1.0.7"
[egress]
image = "opensandbox/egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -63,7 +61,6 @@ services: ...@@ -63,7 +61,6 @@ services:
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 10 retries: 10
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -151,14 +148,13 @@ services: ...@@ -151,14 +148,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -180,7 +176,7 @@ services: ...@@ -180,7 +176,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -209,20 +205,6 @@ services: ...@@ -209,20 +205,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -230,7 +212,7 @@ services: ...@@ -230,7 +212,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -269,17 +251,17 @@ services: ...@@ -269,17 +251,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -315,79 +297,9 @@ services: ...@@ -315,79 +297,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: opensandbox/server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: opensandbox/execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: opensandbox/egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -438,8 +350,6 @@ networks: ...@@ -438,8 +350,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -456,31 +366,3 @@ volumes: ...@@ -456,31 +366,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "opensandbox/execd:v1.0.7"
[egress]
image = "opensandbox/egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -43,7 +41,6 @@ x-log-config: &x-log-config ...@@ -43,7 +41,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB # Vector DB
fastgpt-vector: fastgpt-vector:
...@@ -69,7 +66,6 @@ services: ...@@ -69,7 +66,6 @@ services:
timeout: 10s timeout: 10s
retries: 1000 retries: 1000
start_period: 10s start_period: 10s
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -157,14 +153,13 @@ services: ...@@ -157,14 +153,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -186,7 +181,7 @@ services: ...@@ -186,7 +181,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -215,20 +210,6 @@ services: ...@@ -215,20 +210,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -236,7 +217,7 @@ services: ...@@ -236,7 +217,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -275,17 +256,17 @@ services: ...@@ -275,17 +256,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -321,79 +302,9 @@ services: ...@@ -321,79 +302,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: opensandbox/server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: opensandbox/execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: opensandbox/egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -444,8 +355,6 @@ networks: ...@@ -444,8 +355,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -462,31 +371,3 @@ volumes: ...@@ -462,31 +371,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "opensandbox/execd:v1.0.7"
[egress]
image = "opensandbox/egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx' ...@@ -11,8 +11,6 @@ x-system-key: &x-system-key 'fastgpt-xxx'
x-plugin-auth-token: &x-plugin-auth-token 'token' x-plugin-auth-token: &x-plugin-auth-token 'token'
# code sandbox token # code sandbox token
x-code-sandbox-token: &x-code-sandbox-token 'codesandbox' x-code-sandbox-token: &x-code-sandbox-token 'codesandbox'
# volume manager auth token
x-volume-manager-auth-token: &x-volume-manager-auth-token 'vmtoken'
# aiproxy token # aiproxy token
x-aiproxy-token: &x-aiproxy-token 'token' x-aiproxy-token: &x-aiproxy-token 'token'
# 数据库连接相关配置 # 数据库连接相关配置
...@@ -134,14 +132,13 @@ services: ...@@ -134,14 +132,13 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.15.0-beta1
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
- data - data
- app - app
- codesandbox - codesandbox
- opensandbox
- aiproxy - aiproxy
depends_on: depends_on:
fastgpt-mongo: fastgpt-mongo:
...@@ -163,7 +160,7 @@ services: ...@@ -163,7 +160,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -192,20 +189,6 @@ services: ...@@ -192,20 +189,6 @@ services:
# AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY
AIPROXY_API_TOKEN: *x-aiproxy-token AIPROXY_API_TOKEN: *x-aiproxy-token
# ==================== Agent sandbox 配置 ====================
AGENT_SANDBOX_PROVIDER: opensandbox
# OpenSandbox 配置(PROVIDER: opensandbox 时生效)
AGENT_SANDBOX_OPENSANDBOX_BASEURL: http://opensandbox-server:8090
AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
LOG_OTEL_SERVICE_NAME: fastgpt-client LOG_OTEL_SERVICE_NAME: fastgpt-client
...@@ -213,7 +196,7 @@ services: ...@@ -213,7 +196,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -252,17 +235,17 @@ services: ...@@ -252,17 +235,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1
networks: networks:
- app - app
ports: ports:
...@@ -298,79 +281,9 @@ services: ...@@ -298,79 +281,9 @@ services:
timeout: 20s timeout: 20s
retries: 3 retries: 3
# 沙盒控制器:管理 Docker 容器的创建/执行/停止/删除
# runtime=docker 模式需要挂载 Docker socket
# 配置 docker.host_ip 为宿主机 LAN IP(容器内访问宿主机服务用)
opensandbox-server:
image: opensandbox/server:v0.1.9
container_name: fastgpt-opensandbox-server
restart: always
networks:
- opensandbox
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
configs:
- source: opensandbox-config
target: /etc/opensandbox/config.toml
environment:
SANDBOX_CONFIG_PATH: /etc/opensandbox/config.toml
healthcheck:
test:
[
'CMD',
'python',
'-c',
'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8090/health",timeout=3).status==200 else 1)'
]
interval: 10s
timeout: 5s
retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1
profiles:
- prepull
opensandbox-execd-image:
image: opensandbox/execd:v1.0.7
profiles:
- prepull
opensandbox-egress-image:
image: opensandbox/egress:v1.0.3
profiles:
- prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1
container_name: fastgpt-volume-manager
restart: always
networks:
- opensandbox
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Docker 模式必须挂载,需检查是否与主机的 socket 文件一致
environment:
PORT: 3000
VM_RUNTIME: docker
VM_AUTH_TOKEN: *x-volume-manager-auth-token # 对应 AGENT_SANDBOX_VOLUME_MANAGER_TOKEN
VM_VOLUME_NAME_PREFIX: fastgpt-session # volume 名称前缀
VM_LOG_LEVEL: info
VM_DOCKER_API_VERSION: v1.44
healthcheck:
test:
[
'CMD',
'bun',
'-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
]
interval: 10s
timeout: 5s
retries: 5
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -421,8 +334,6 @@ networks: ...@@ -421,8 +334,6 @@ networks:
name: fastgpt_app name: fastgpt_app
codesandbox: codesandbox:
name: fastgpt_codesandbox name: fastgpt_codesandbox
opensandbox:
name: fastgpt_opensandbox
aiproxy: aiproxy:
name: fastgpt_aiproxy name: fastgpt_aiproxy
...@@ -439,31 +350,3 @@ volumes: ...@@ -439,31 +350,3 @@ volumes:
fastgpt-seekdb-data: fastgpt-seekdb-data:
fastgpt-seekdb-config: fastgpt-seekdb-config:
fastgpt-aiproxy_pg: fastgpt-aiproxy_pg:
configs:
opensandbox-config:
content: |
[server]
host = "0.0.0.0"
port = 8090
log_level = "INFO"
[runtime]
type = "docker"
execd_image = "opensandbox/execd:v1.0.7"
[egress]
image = "opensandbox/egress:v1.0.3"
[docker]
network_mode = "fastgpt_opensandbox"
# When server runs in a container, set host_ip to the host's IP or hostname so bridge-mode endpoints are reachable (e.g. host.docker.internal or the host LAN IP).
# It's required when server deployed with docker container under host.
host_ip = "host.docker.internal"
drop_capabilities = ["AUDIT_WRITE", "MKNOD", "NET_ADMIN", "NET_RAW", "SYS_ADMIN", "SYS_MODULE", "SYS_PTRACE", "SYS_TIME", "SYS_TTY_CONFIG"]
no_new_privileges = true
pids_limit = 512
[ingress]
mode = "direct"
...@@ -43,7 +43,6 @@ x-log-config: &x-log-config ...@@ -43,7 +43,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
MILVUS_ADDRESS: http://fastgpt-vector:19530 MILVUS_ADDRESS: http://fastgpt-vector:19530
MILVUS_TOKEN: none MILVUS_TOKEN: none
services: services:
# Vector DB # Vector DB
...@@ -104,7 +103,6 @@ services: ...@@ -104,7 +103,6 @@ services:
depends_on: depends_on:
- 'fastgpt-milvus-etcd' - 'fastgpt-milvus-etcd'
- 'fastgpt-milvus-minio' - 'fastgpt-milvus-minio'
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -192,7 +190,7 @@ services: ...@@ -192,7 +190,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -221,7 +219,7 @@ services: ...@@ -221,7 +219,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -257,12 +255,13 @@ services: ...@@ -257,12 +255,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -271,7 +270,7 @@ services: ...@@ -271,7 +270,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -310,17 +309,17 @@ services: ...@@ -310,17 +309,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -387,7 +386,7 @@ services: ...@@ -387,7 +386,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -400,7 +399,7 @@ services: ...@@ -400,7 +399,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -428,7 +427,7 @@ services: ...@@ -428,7 +427,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -524,4 +523,3 @@ configs: ...@@ -524,4 +523,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,7 +43,6 @@ x-log-config: &x-log-config ...@@ -43,7 +43,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB # Vector DB
fastgpt-vector: fastgpt-vector:
...@@ -82,7 +81,6 @@ services: ...@@ -82,7 +81,6 @@ services:
timeout: 10s timeout: 10s
retries: 1000 retries: 1000
start_period: 10s start_period: 10s
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -170,7 +168,7 @@ services: ...@@ -170,7 +168,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -199,7 +197,7 @@ services: ...@@ -199,7 +197,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -235,12 +233,13 @@ services: ...@@ -235,12 +233,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -249,7 +248,7 @@ services: ...@@ -249,7 +248,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -288,17 +287,17 @@ services: ...@@ -288,17 +287,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -365,7 +364,7 @@ services: ...@@ -365,7 +364,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -378,7 +377,7 @@ services: ...@@ -378,7 +377,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -406,7 +405,7 @@ services: ...@@ -406,7 +405,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -506,4 +505,3 @@ configs: ...@@ -506,4 +505,3 @@ configs:
name: init_sql name: init_sql
content: | content: |
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30; ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
...@@ -152,7 +152,7 @@ services: ...@@ -152,7 +152,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -181,7 +181,7 @@ services: ...@@ -181,7 +181,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -217,12 +217,13 @@ services: ...@@ -217,12 +217,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -231,7 +232,7 @@ services: ...@@ -231,7 +232,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -270,17 +271,17 @@ services: ...@@ -270,17 +271,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -347,7 +348,7 @@ services: ...@@ -347,7 +348,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -360,7 +361,7 @@ services: ...@@ -360,7 +361,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -388,7 +389,7 @@ services: ...@@ -388,7 +389,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -484,4 +485,3 @@ configs: ...@@ -484,4 +485,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -63,7 +63,6 @@ services: ...@@ -63,7 +63,6 @@ services:
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 10 retries: 10
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -151,7 +150,7 @@ services: ...@@ -151,7 +150,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -180,7 +179,7 @@ services: ...@@ -180,7 +179,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -216,12 +215,13 @@ services: ...@@ -216,12 +215,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -230,7 +230,7 @@ services: ...@@ -230,7 +230,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -269,17 +269,17 @@ services: ...@@ -269,17 +269,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -346,7 +346,7 @@ services: ...@@ -346,7 +346,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -359,7 +359,7 @@ services: ...@@ -359,7 +359,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -387,7 +387,7 @@ services: ...@@ -387,7 +387,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -483,4 +483,3 @@ configs: ...@@ -483,4 +483,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,7 +43,6 @@ x-log-config: &x-log-config ...@@ -43,7 +43,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB # Vector DB
fastgpt-vector: fastgpt-vector:
...@@ -69,7 +68,6 @@ services: ...@@ -69,7 +68,6 @@ services:
timeout: 10s timeout: 10s
retries: 1000 retries: 1000
start_period: 10s start_period: 10s
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -157,7 +155,7 @@ services: ...@@ -157,7 +155,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -186,7 +184,7 @@ services: ...@@ -186,7 +184,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -222,12 +220,13 @@ services: ...@@ -222,12 +220,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -236,7 +235,7 @@ services: ...@@ -236,7 +235,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -275,17 +274,17 @@ services: ...@@ -275,17 +274,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -352,7 +351,7 @@ services: ...@@ -352,7 +351,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -365,7 +364,7 @@ services: ...@@ -365,7 +364,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -393,7 +392,7 @@ services: ...@@ -393,7 +392,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -489,4 +488,3 @@ configs: ...@@ -489,4 +488,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -134,7 +134,7 @@ services: ...@@ -134,7 +134,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -163,7 +163,7 @@ services: ...@@ -163,7 +163,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -199,12 +199,13 @@ services: ...@@ -199,12 +199,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -213,7 +214,7 @@ services: ...@@ -213,7 +214,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -252,17 +253,17 @@ services: ...@@ -252,17 +253,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.20 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -329,7 +330,7 @@ services: ...@@ -329,7 +330,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -342,7 +343,7 @@ services: ...@@ -342,7 +343,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -370,7 +371,7 @@ services: ...@@ -370,7 +371,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -466,4 +467,3 @@ configs: ...@@ -466,4 +467,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,7 +43,6 @@ x-log-config: &x-log-config ...@@ -43,7 +43,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
MILVUS_ADDRESS: http://fastgpt-vector:19530 MILVUS_ADDRESS: http://fastgpt-vector:19530
MILVUS_TOKEN: none MILVUS_TOKEN: none
services: services:
# Vector DB # Vector DB
...@@ -104,7 +103,6 @@ services: ...@@ -104,7 +103,6 @@ services:
depends_on: depends_on:
- 'fastgpt-milvus-etcd' - 'fastgpt-milvus-etcd'
- 'fastgpt-milvus-minio' - 'fastgpt-milvus-minio'
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -192,7 +190,7 @@ services: ...@@ -192,7 +190,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -221,7 +219,7 @@ services: ...@@ -221,7 +219,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -257,12 +255,13 @@ services: ...@@ -257,12 +255,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -271,7 +270,7 @@ services: ...@@ -271,7 +270,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -310,17 +309,17 @@ services: ...@@ -310,17 +309,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -387,7 +386,7 @@ services: ...@@ -387,7 +386,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1 image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -400,7 +399,7 @@ services: ...@@ -400,7 +399,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1 image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -428,7 +427,7 @@ services: ...@@ -428,7 +427,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -524,4 +523,3 @@ configs: ...@@ -524,4 +523,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,7 +43,6 @@ x-log-config: &x-log-config ...@@ -43,7 +43,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB # Vector DB
fastgpt-vector: fastgpt-vector:
...@@ -82,7 +81,6 @@ services: ...@@ -82,7 +81,6 @@ services:
timeout: 10s timeout: 10s
retries: 1000 retries: 1000
start_period: 10s start_period: 10s
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -170,7 +168,7 @@ services: ...@@ -170,7 +168,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -199,7 +197,7 @@ services: ...@@ -199,7 +197,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -235,12 +233,13 @@ services: ...@@ -235,12 +233,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -249,7 +248,7 @@ services: ...@@ -249,7 +248,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -288,17 +287,17 @@ services: ...@@ -288,17 +287,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -365,7 +364,7 @@ services: ...@@ -365,7 +364,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1 image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -378,7 +377,7 @@ services: ...@@ -378,7 +377,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1 image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -406,7 +405,7 @@ services: ...@@ -406,7 +405,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -506,4 +505,3 @@ configs: ...@@ -506,4 +505,3 @@ configs:
name: init_sql name: init_sql
content: | content: |
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30; ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
...@@ -152,7 +152,7 @@ services: ...@@ -152,7 +152,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -181,7 +181,7 @@ services: ...@@ -181,7 +181,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -217,12 +217,13 @@ services: ...@@ -217,12 +217,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -231,7 +232,7 @@ services: ...@@ -231,7 +232,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -270,17 +271,17 @@ services: ...@@ -270,17 +271,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -347,7 +348,7 @@ services: ...@@ -347,7 +348,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1 image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -360,7 +361,7 @@ services: ...@@ -360,7 +361,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1 image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -388,7 +389,7 @@ services: ...@@ -388,7 +389,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -484,4 +485,3 @@ configs: ...@@ -484,4 +485,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -63,7 +63,6 @@ services: ...@@ -63,7 +63,6 @@ services:
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 10 retries: 10
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -151,7 +150,7 @@ services: ...@@ -151,7 +150,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -180,7 +179,7 @@ services: ...@@ -180,7 +179,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -216,12 +215,13 @@ services: ...@@ -216,12 +215,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -230,7 +230,7 @@ services: ...@@ -230,7 +230,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -269,17 +269,17 @@ services: ...@@ -269,17 +269,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -346,7 +346,7 @@ services: ...@@ -346,7 +346,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1 image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -359,7 +359,7 @@ services: ...@@ -359,7 +359,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1 image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -387,7 +387,7 @@ services: ...@@ -387,7 +387,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -483,4 +483,3 @@ configs: ...@@ -483,4 +483,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,7 +43,6 @@ x-log-config: &x-log-config ...@@ -43,7 +43,6 @@ x-log-config: &x-log-config
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB # Vector DB
fastgpt-vector: fastgpt-vector:
...@@ -69,7 +68,6 @@ services: ...@@ -69,7 +68,6 @@ services:
timeout: 10s timeout: 10s
retries: 1000 retries: 1000
start_period: 10s start_period: 10s
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -157,7 +155,7 @@ services: ...@@ -157,7 +155,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -186,7 +184,7 @@ services: ...@@ -186,7 +184,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -222,12 +220,13 @@ services: ...@@ -222,12 +220,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -236,7 +235,7 @@ services: ...@@ -236,7 +235,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -275,17 +274,17 @@ services: ...@@ -275,17 +274,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -352,7 +351,7 @@ services: ...@@ -352,7 +351,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1 image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -365,7 +364,7 @@ services: ...@@ -365,7 +364,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1 image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -393,7 +392,7 @@ services: ...@@ -393,7 +392,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -489,4 +488,3 @@ configs: ...@@ -489,4 +488,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -134,7 +134,7 @@ services: ...@@ -134,7 +134,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.20 image: ghcr.io/labring/fastgpt:v4.14.22
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -163,7 +163,7 @@ services: ...@@ -163,7 +163,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -199,12 +199,13 @@ services: ...@@ -199,12 +199,13 @@ services:
AGENT_SANDBOX_OPENSANDBOX_API_KEY: AGENT_SANDBOX_OPENSANDBOX_API_KEY:
AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker AGENT_SANDBOX_OPENSANDBOX_RUNTIME: docker
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO: ghcr.io/labring/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1 AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG: v0.1.2
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY: true
# Volume 持久化配置(opensandbox provider 下可选) # Volume 持久化配置(opensandbox provider 下可选)
AGENT_SANDBOX_ENABLE_VOLUME: true AGENT_SANDBOX_ENABLE_VOLUME: true
AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000 AGENT_SANDBOX_VOLUME_MANAGER_URL: http://fastgpt-volume-manager:3000
AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token AGENT_SANDBOX_VOLUME_MANAGER_TOKEN: *x-volume-manager-auth-token
AGENT_SANDBOX_VOLUME_MANAGER_MOUNT_PATH: /workspace
# ==================== 日志与监控 ==================== # ==================== 日志与监控 ====================
# 传递给 OTLP 收集器的服务名称 # 传递给 OTLP 收集器的服务名称
...@@ -213,7 +214,7 @@ services: ...@@ -213,7 +214,7 @@ services:
- ./config.json:/app/data/config.json - ./config.json:/app/data/config.json
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.20 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.22
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -252,17 +253,17 @@ services: ...@@ -252,17 +253,17 @@ services:
SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib SANDBOX_PYTHON_ALLOWED_MODULES: math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib
healthcheck: healthcheck:
test: [ test: [
'CMD', 'CMD',
'bun', 'bun',
'-e', '-e',
"fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })" "fetch('http://localhost:3000/health').then((res) => { if (!res.ok) throw new Error(String(res.status)); })"
] ]
interval: 30s interval: 30s
timeout: 20s timeout: 20s
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.20 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22
networks: networks:
- app - app
ports: ports:
...@@ -329,7 +330,7 @@ services: ...@@ -329,7 +330,7 @@ services:
retries: 5 retries: 5
# Pre-pull only: not started by `docker compose up` (uses profile `prepull`). # Pre-pull only: not started by `docker compose up` (uses profile `prepull`).
opensandbox-agent-sandbox-image: opensandbox-agent-sandbox-image:
image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1 image: ghcr.io/labring/fastgpt-agent-sandbox:v0.1.2
profiles: profiles:
- prepull - prepull
opensandbox-execd-image: opensandbox-execd-image:
...@@ -342,7 +343,7 @@ services: ...@@ -342,7 +343,7 @@ services:
- prepull - prepull
# 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC # 卷管理微服务:负责幂等创建/删除 Docker named volume 或 k8s PVC
fastgpt-volume-manager: fastgpt-volume-manager:
image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1 image: ghcr.io/labring/fastgpt-agent-volume-manager:v0.1.2
container_name: fastgpt-volume-manager container_name: fastgpt-volume-manager
restart: always restart: always
networks: networks:
...@@ -370,7 +371,7 @@ services: ...@@ -370,7 +371,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.6 image: ghcr.io/labring/aiproxy:v0.5.8
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -466,4 +467,3 @@ configs: ...@@ -466,4 +467,3 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment