Commit 4a3401a4 by Archer Committed by GitHub

Pick (#6875)

* feat: close wecom channel;fix: scope chat resume to current app  (#6874)

* feat: close wecom channel

* fix: scope chat resume to current app (#6860)

* fix: scope chat resume to current app

Abort stale resume streams when switching apps and only resume after the current app/chat init state is aligned.

Made-with: Cursor

* refactor: centralize resume stream cancellation

Ensure only one resume stream is active per client tab and discard queued resume messages after abort.

Made-with: Cursor

* fix: make sure controller unique

* chore: remove redundant effect

* perf: remove invalid code

* update package

---------

Co-authored-by: Ryo <whoeverimf5@gmail.com>

* doc

* lock

---------

Co-authored-by: Ryo <whoeverimf5@gmail.com>
parent 6545b490
...@@ -3,8 +3,6 @@ ...@@ -3,8 +3,6 @@
"editor.mouseWheelZoom": true, "editor.mouseWheelZoom": true,
"editor.defaultFormatter": "esbenp.prettier-vscode", "editor.defaultFormatter": "esbenp.prettier-vscode",
"prettier.prettierPath": "node_modules/prettier", "prettier.prettierPath": "node_modules/prettier",
"js/ts.preferences.includePackageJsonAutoImports": "on",
"js/ts.tsdk.path": "node_modules/typescript/lib",
"i18n-ally.localesPaths": [ "i18n-ally.localesPaths": [
"packages/web/i18n", "packages/web/i18n",
], ],
...@@ -26,6 +24,9 @@ ...@@ -26,6 +24,9 @@
"[typescript]": { "[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"
}, },
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"mdx.server.enable": true, "mdx.server.enable": true,
"markdown.copyFiles.overwriteBehavior": "nameIncrementally", "markdown.copyFiles.overwriteBehavior": "nameIncrementally",
"markdown.copyFiles.destination": { "markdown.copyFiles.destination": {
......
{ {
"tags": { "tags": {
"fastgpt": "v4.14.15", "fastgpt": "v4.14.18",
"fastgpt-code-sandbox": "v4.14.15", "fastgpt-code-sandbox": "v4.14.18",
"fastgpt-mcp_server": "v4.14.15", "fastgpt-mcp_server": "v4.14.18",
"fastgpt-plugin": "v0.6.1", "fastgpt-plugin": "v0.6.1",
"volume-manager": "v0.1", "volume-manager": "v0.1",
"agent-sandbox-image": "v0.1", "agent-sandbox-image": "v0.1",
"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.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",
......
...@@ -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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
ports: ports:
- 3003:3000 - 3003:3000
networks: networks:
......
...@@ -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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
ports: ports:
- 3003:3000 - 3003:3000
networks: networks:
......
...@@ -43,6 +43,7 @@ x-log-config: &x-log-config ...@@ -43,6 +43,7 @@ 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
...@@ -117,19 +118,7 @@ services: ...@@ -117,19 +118,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -203,7 +192,7 @@ services: ...@@ -203,7 +192,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -231,7 +220,7 @@ services: ...@@ -231,7 +220,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -298,14 +287,14 @@ services: ...@@ -298,14 +287,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -343,19 +332,18 @@ services: ...@@ -343,19 +332,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -559,3 +547,4 @@ configs: ...@@ -559,3 +547,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,10 +43,11 @@ x-log-config: &x-log-config ...@@ -43,10 +43,11 @@ 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:
image: oceanbase/oceanbase-ce:4.3.5-lts image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob container_name: fastgpt-ob
restart: always restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
...@@ -74,8 +75,8 @@ services: ...@@ -74,8 +75,8 @@ services:
# obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;" # obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;"
test: test:
[ [
'CMD-SHELL', "CMD-SHELL",
'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"' 'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"',
] ]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
...@@ -95,19 +96,7 @@ services: ...@@ -95,19 +96,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -181,7 +170,7 @@ services: ...@@ -181,7 +170,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -209,7 +198,7 @@ services: ...@@ -209,7 +198,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -276,14 +265,14 @@ services: ...@@ -276,14 +265,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -321,19 +310,18 @@ services: ...@@ -321,19 +310,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -541,3 +529,4 @@ configs: ...@@ -541,3 +529,4 @@ 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;
...@@ -54,9 +54,9 @@ services: ...@@ -54,9 +54,9 @@ services:
- data - data
environment: environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户 - GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户
- GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位 - GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位
- GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例 - GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例
volumes: volumes:
- ./opengauss/data:/var/lib/opengauss - ./opengauss/data:/var/lib/opengauss
healthcheck: healthcheck:
...@@ -78,19 +78,7 @@ services: ...@@ -78,19 +78,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -164,7 +152,7 @@ services: ...@@ -164,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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -192,7 +180,7 @@ services: ...@@ -192,7 +180,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -259,14 +247,14 @@ services: ...@@ -259,14 +247,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -304,19 +292,18 @@ services: ...@@ -304,19 +292,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -520,3 +507,4 @@ configs: ...@@ -520,3 +507,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -77,19 +77,7 @@ services: ...@@ -77,19 +77,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -163,7 +151,7 @@ services: ...@@ -163,7 +151,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -191,7 +179,7 @@ services: ...@@ -191,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: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -258,14 +246,14 @@ services: ...@@ -258,14 +246,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -303,19 +291,18 @@ services: ...@@ -303,19 +291,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -519,3 +506,4 @@ configs: ...@@ -519,3 +506,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,10 +43,11 @@ x-log-config: &x-log-config ...@@ -43,10 +43,11 @@ 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:
image: oceanbase/seekdb:1.0.1.0-100000392025122619 image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb container_name: fastgpt-seekdb
restart: always restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
...@@ -82,19 +83,7 @@ services: ...@@ -82,19 +83,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -168,7 +157,7 @@ services: ...@@ -168,7 +157,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -196,7 +185,7 @@ services: ...@@ -196,7 +185,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -263,14 +252,14 @@ services: ...@@ -263,14 +252,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -308,19 +297,18 @@ services: ...@@ -308,19 +297,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -524,3 +512,4 @@ configs: ...@@ -524,3 +512,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -60,19 +60,7 @@ services: ...@@ -60,19 +60,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -146,7 +134,7 @@ services: ...@@ -146,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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -174,7 +162,7 @@ services: ...@@ -174,7 +162,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -241,14 +229,14 @@ services: ...@@ -241,14 +229,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -286,19 +274,18 @@ services: ...@@ -286,19 +274,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -502,3 +489,4 @@ configs: ...@@ -502,3 +489,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,6 +43,7 @@ x-log-config: &x-log-config ...@@ -43,6 +43,7 @@ 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
...@@ -117,19 +118,7 @@ services: ...@@ -117,19 +118,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -203,7 +192,7 @@ services: ...@@ -203,7 +192,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -231,7 +220,7 @@ services: ...@@ -231,7 +220,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -298,14 +287,14 @@ services: ...@@ -298,14 +287,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -343,19 +332,18 @@ services: ...@@ -343,19 +332,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -559,3 +547,4 @@ configs: ...@@ -559,3 +547,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,10 +43,11 @@ x-log-config: &x-log-config ...@@ -43,10 +43,11 @@ 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:
image: oceanbase/oceanbase-ce:4.3.5-lts image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob container_name: fastgpt-ob
restart: always restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
...@@ -74,8 +75,8 @@ services: ...@@ -74,8 +75,8 @@ services:
# obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;" # obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;"
test: test:
[ [
'CMD-SHELL', "CMD-SHELL",
'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"' 'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"',
] ]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
...@@ -95,19 +96,7 @@ services: ...@@ -95,19 +96,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -181,7 +170,7 @@ services: ...@@ -181,7 +170,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -209,7 +198,7 @@ services: ...@@ -209,7 +198,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -276,14 +265,14 @@ services: ...@@ -276,14 +265,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -321,19 +310,18 @@ services: ...@@ -321,19 +310,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -541,3 +529,4 @@ configs: ...@@ -541,3 +529,4 @@ 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;
...@@ -54,9 +54,9 @@ services: ...@@ -54,9 +54,9 @@ services:
- data - data
environment: environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户 - GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户
- GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位 - GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位
- GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例 - GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例
volumes: volumes:
- ./opengauss/data:/var/lib/opengauss - ./opengauss/data:/var/lib/opengauss
healthcheck: healthcheck:
...@@ -78,19 +78,7 @@ services: ...@@ -78,19 +78,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -164,7 +152,7 @@ services: ...@@ -164,7 +152,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -192,7 +180,7 @@ services: ...@@ -192,7 +180,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -259,14 +247,14 @@ services: ...@@ -259,14 +247,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -304,19 +292,18 @@ services: ...@@ -304,19 +292,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -520,3 +507,4 @@ configs: ...@@ -520,3 +507,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -77,19 +77,7 @@ services: ...@@ -77,19 +77,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -163,7 +151,7 @@ services: ...@@ -163,7 +151,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -191,7 +179,7 @@ services: ...@@ -191,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: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -258,14 +246,14 @@ services: ...@@ -258,14 +246,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -303,19 +291,18 @@ services: ...@@ -303,19 +291,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -519,3 +506,4 @@ configs: ...@@ -519,3 +506,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,10 +43,11 @@ x-log-config: &x-log-config ...@@ -43,10 +43,11 @@ 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:
image: oceanbase/seekdb:1.0.1.0-100000392025122619 image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb container_name: fastgpt-seekdb
restart: always restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
...@@ -82,19 +83,7 @@ services: ...@@ -82,19 +83,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -168,7 +157,7 @@ services: ...@@ -168,7 +157,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -196,7 +185,7 @@ services: ...@@ -196,7 +185,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -263,14 +252,14 @@ services: ...@@ -263,14 +252,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -308,19 +297,18 @@ services: ...@@ -308,19 +297,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -524,3 +512,4 @@ configs: ...@@ -524,3 +512,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -60,19 +60,7 @@ services: ...@@ -60,19 +60,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -146,7 +134,7 @@ services: ...@@ -146,7 +134,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -174,7 +162,7 @@ services: ...@@ -174,7 +162,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -241,14 +229,14 @@ services: ...@@ -241,14 +229,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -286,19 +274,18 @@ services: ...@@ -286,19 +274,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -502,3 +489,4 @@ configs: ...@@ -502,3 +489,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
--- ---
title: 'V4.14.17(处理中)' title: 'V4.14.17'
description: 'FastGPT V4.14.17 更新说明' description: 'FastGPT V4.14.17 更新说明'
--- ---
......
--- ---
title: 'V4.14.18(处理中)' title: 'V4.14.18'
description: 'FastGPT V4.14.18 更新说明' description: 'FastGPT V4.14.18 更新说明'
--- ---
...@@ -10,6 +10,11 @@ description: 'FastGPT V4.14.18 更新说明' ...@@ -10,6 +10,11 @@ description: 'FastGPT V4.14.18 更新说明'
- 更新 fastgpt-app(fastgpt 主服务) 镜像 tag: v4.14.18 - 更新 fastgpt-app(fastgpt 主服务) 镜像 tag: v4.14.18
- 更新 fastgpt-pro(fastgpt 商业版) 镜像 tag: v4.14.18 - 更新 fastgpt-pro(fastgpt 商业版) 镜像 tag: v4.14.18
## 🚀 新增内容
1. 支持管理员后台关闭个人微信发布渠道。
## 🐛 修复 ## 🐛 修复
1. 修复了部分`工作流工具`、`用户表单节点`无法正确根据文件类型过滤并上传文件的问题 1. 修复了部分`工作流工具`、`用户表单节点`无法正确根据文件类型过滤并上传文件的问题。
2. 修复在对话页频繁切换未结束对话,导致流恢复顺序异常。
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
"content/self-host/upgrading/4-14/41416.en.mdx": "2026-04-26T21:28:27+08:00", "content/self-host/upgrading/4-14/41416.en.mdx": "2026-04-26T21:28:27+08:00",
"content/self-host/upgrading/4-14/41416.mdx": "2026-04-26T22:41:57+08:00", "content/self-host/upgrading/4-14/41416.mdx": "2026-04-26T22:41:57+08:00",
"content/self-host/upgrading/4-14/41417.mdx": "2026-04-28T18:03:38+08:00", "content/self-host/upgrading/4-14/41417.mdx": "2026-04-28T18:03:38+08:00",
"content/self-host/upgrading/4-14/41418.mdx": "2026-05-06T10:14:45+08:00", "content/self-host/upgrading/4-14/41418.mdx": "2026-05-06T10:37:28+08:00",
"content/self-host/upgrading/4-14/4142.en.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/4-14/4142.en.mdx": "2026-04-26T21:08:47+08:00",
"content/self-host/upgrading/4-14/4142.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/4-14/4142.mdx": "2026-04-26T21:08:47+08:00",
"content/self-host/upgrading/4-14/4143.en.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/4-14/4143.en.mdx": "2026-04-26T21:08:47+08:00",
...@@ -397,7 +397,7 @@ ...@@ -397,7 +397,7 @@
"content/self-host/upgrading/upgrade-intruction.en.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/upgrade-intruction.en.mdx": "2026-04-26T21:08:47+08:00",
"content/self-host/upgrading/upgrade-intruction.mdx": "2026-04-26T21:08:47+08:00", "content/self-host/upgrading/upgrade-intruction.mdx": "2026-04-26T21:08:47+08:00",
"content/toc.en.mdx": "2026-04-29T20:39:24+08:00", "content/toc.en.mdx": "2026-04-29T20:39:24+08:00",
"content/toc.mdx": "2026-05-06T10:14:45+08:00", "content/toc.mdx": "2026-05-06T10:37:28+08:00",
"content/use-cases/app-cases/dalle3.en.mdx": "2026-04-26T21:08:47+08:00", "content/use-cases/app-cases/dalle3.en.mdx": "2026-04-26T21:08:47+08:00",
"content/use-cases/app-cases/dalle3.mdx": "2026-04-26T21:08:47+08:00", "content/use-cases/app-cases/dalle3.mdx": "2026-04-26T21:08:47+08:00",
"content/use-cases/app-cases/english_essay_correction_bot.en.mdx": "2026-04-26T21:08:47+08:00", "content/use-cases/app-cases/english_essay_correction_bot.en.mdx": "2026-04-26T21:08:47+08:00",
......
...@@ -43,6 +43,7 @@ x-log-config: &x-log-config ...@@ -43,6 +43,7 @@ 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
...@@ -117,19 +118,7 @@ services: ...@@ -117,19 +118,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -203,7 +192,7 @@ services: ...@@ -203,7 +192,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -231,7 +220,7 @@ services: ...@@ -231,7 +220,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -298,14 +287,14 @@ services: ...@@ -298,14 +287,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -343,19 +332,18 @@ services: ...@@ -343,19 +332,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -463,7 +451,7 @@ services: ...@@ -463,7 +451,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.3 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -559,3 +547,4 @@ configs: ...@@ -559,3 +547,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,10 +43,11 @@ x-log-config: &x-log-config ...@@ -43,10 +43,11 @@ 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:
image: oceanbase/oceanbase-ce:4.3.5-lts image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob container_name: fastgpt-ob
restart: always restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
...@@ -74,8 +75,8 @@ services: ...@@ -74,8 +75,8 @@ services:
# obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;" # obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;"
test: test:
[ [
'CMD-SHELL', "CMD-SHELL",
'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"' 'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"',
] ]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
...@@ -95,19 +96,7 @@ services: ...@@ -95,19 +96,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -181,7 +170,7 @@ services: ...@@ -181,7 +170,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -209,7 +198,7 @@ services: ...@@ -209,7 +198,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -276,14 +265,14 @@ services: ...@@ -276,14 +265,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -321,19 +310,18 @@ services: ...@@ -321,19 +310,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -441,7 +429,7 @@ services: ...@@ -441,7 +429,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.3 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -541,3 +529,4 @@ configs: ...@@ -541,3 +529,4 @@ 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;
...@@ -54,9 +54,9 @@ services: ...@@ -54,9 +54,9 @@ services:
- data - data
environment: environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户 - GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户
- GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位 - GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位
- GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例 - GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例
volumes: volumes:
- ./opengauss/data:/var/lib/opengauss - ./opengauss/data:/var/lib/opengauss
healthcheck: healthcheck:
...@@ -78,19 +78,7 @@ services: ...@@ -78,19 +78,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -164,7 +152,7 @@ services: ...@@ -164,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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -192,7 +180,7 @@ services: ...@@ -192,7 +180,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -259,14 +247,14 @@ services: ...@@ -259,14 +247,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -304,19 +292,18 @@ services: ...@@ -304,19 +292,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -424,7 +411,7 @@ services: ...@@ -424,7 +411,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.3 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -520,3 +507,4 @@ configs: ...@@ -520,3 +507,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -77,19 +77,7 @@ services: ...@@ -77,19 +77,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -163,7 +151,7 @@ services: ...@@ -163,7 +151,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -191,7 +179,7 @@ services: ...@@ -191,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: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -258,14 +246,14 @@ services: ...@@ -258,14 +246,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -303,19 +291,18 @@ services: ...@@ -303,19 +291,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -423,7 +410,7 @@ services: ...@@ -423,7 +410,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.3 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -519,3 +506,4 @@ configs: ...@@ -519,3 +506,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,10 +43,11 @@ x-log-config: &x-log-config ...@@ -43,10 +43,11 @@ 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:
image: oceanbase/seekdb:1.0.1.0-100000392025122619 image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb container_name: fastgpt-seekdb
restart: always restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
...@@ -82,19 +83,7 @@ services: ...@@ -82,19 +83,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -168,7 +157,7 @@ services: ...@@ -168,7 +157,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -196,7 +185,7 @@ services: ...@@ -196,7 +185,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -263,14 +252,14 @@ services: ...@@ -263,14 +252,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -308,19 +297,18 @@ services: ...@@ -308,19 +297,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -428,7 +416,7 @@ services: ...@@ -428,7 +416,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.3 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -524,3 +512,4 @@ configs: ...@@ -524,3 +512,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -60,19 +60,7 @@ services: ...@@ -60,19 +60,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -146,7 +134,7 @@ services: ...@@ -146,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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -174,7 +162,7 @@ services: ...@@ -174,7 +162,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -241,14 +229,14 @@ services: ...@@ -241,14 +229,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -286,19 +274,18 @@ services: ...@@ -286,19 +274,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -406,7 +393,7 @@ services: ...@@ -406,7 +393,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.3 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -502,3 +489,4 @@ configs: ...@@ -502,3 +489,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,6 +43,7 @@ x-log-config: &x-log-config ...@@ -43,6 +43,7 @@ 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
...@@ -117,19 +118,7 @@ services: ...@@ -117,19 +118,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -203,7 +192,7 @@ services: ...@@ -203,7 +192,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -231,7 +220,7 @@ services: ...@@ -231,7 +220,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -298,14 +287,14 @@ services: ...@@ -298,14 +287,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -343,19 +332,18 @@ services: ...@@ -343,19 +332,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -463,7 +451,7 @@ services: ...@@ -463,7 +451,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.3 image: ghcr.io/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -559,3 +547,4 @@ configs: ...@@ -559,3 +547,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,10 +43,11 @@ x-log-config: &x-log-config ...@@ -43,10 +43,11 @@ 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:
image: oceanbase/oceanbase-ce:4.3.5-lts image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob container_name: fastgpt-ob
restart: always restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
...@@ -74,8 +75,8 @@ services: ...@@ -74,8 +75,8 @@ services:
# obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;" # obclient -h127.0.0.1 -P2881 -uroot@tenantname -ptenantpassword -e "SELECT 1;"
test: test:
[ [
'CMD-SHELL', "CMD-SHELL",
'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"' 'obclient -h$${OB_SERVER_IP} -P2881 -uroot@$${OB_TENANT_NAME} -p$${OB_TENANT_PASSWORD} -e "SELECT 1;"',
] ]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
...@@ -95,19 +96,7 @@ services: ...@@ -95,19 +96,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -181,7 +170,7 @@ services: ...@@ -181,7 +170,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -209,7 +198,7 @@ services: ...@@ -209,7 +198,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -276,14 +265,14 @@ services: ...@@ -276,14 +265,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -321,19 +310,18 @@ services: ...@@ -321,19 +310,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -441,7 +429,7 @@ services: ...@@ -441,7 +429,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.3 image: ghcr.io/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -541,3 +529,4 @@ configs: ...@@ -541,3 +529,4 @@ 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;
...@@ -54,9 +54,9 @@ services: ...@@ -54,9 +54,9 @@ services:
- data - data
environment: environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户 - GS_USERNAME=gaussdb # 默认会创建 gaussdb 用户
- GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位 - GS_PASSWORD=FastGPT@123 # 密码必须包含大写、小写、数字和特殊字符,且长度不少于8位
- GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例 - GS_DB=fastgpt # 默认会创建 postgres 数据库,这里以 fastgpt 为例
volumes: volumes:
- ./opengauss/data:/var/lib/opengauss - ./opengauss/data:/var/lib/opengauss
healthcheck: healthcheck:
...@@ -78,19 +78,7 @@ services: ...@@ -78,19 +78,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -164,7 +152,7 @@ services: ...@@ -164,7 +152,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -192,7 +180,7 @@ services: ...@@ -192,7 +180,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -259,14 +247,14 @@ services: ...@@ -259,14 +247,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -304,19 +292,18 @@ services: ...@@ -304,19 +292,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -424,7 +411,7 @@ services: ...@@ -424,7 +411,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.3 image: ghcr.io/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -520,3 +507,4 @@ configs: ...@@ -520,3 +507,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -77,19 +77,7 @@ services: ...@@ -77,19 +77,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -163,7 +151,7 @@ services: ...@@ -163,7 +151,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -191,7 +179,7 @@ services: ...@@ -191,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: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -258,14 +246,14 @@ services: ...@@ -258,14 +246,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -303,19 +291,18 @@ services: ...@@ -303,19 +291,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -423,7 +410,7 @@ services: ...@@ -423,7 +410,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.3 image: ghcr.io/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -519,3 +506,4 @@ configs: ...@@ -519,3 +506,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -43,10 +43,11 @@ x-log-config: &x-log-config ...@@ -43,10 +43,11 @@ 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:
image: oceanbase/seekdb:1.0.1.0-100000392025122619 image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb container_name: fastgpt-seekdb
restart: always restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
...@@ -82,19 +83,7 @@ services: ...@@ -82,19 +83,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -168,7 +157,7 @@ services: ...@@ -168,7 +157,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -196,7 +185,7 @@ services: ...@@ -196,7 +185,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -263,14 +252,14 @@ services: ...@@ -263,14 +252,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -308,19 +297,18 @@ services: ...@@ -308,19 +297,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -428,7 +416,7 @@ services: ...@@ -428,7 +416,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.3 image: ghcr.io/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -524,3 +512,4 @@ configs: ...@@ -524,3 +512,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
...@@ -60,19 +60,7 @@ services: ...@@ -60,19 +60,7 @@ services:
volumes: volumes:
- fastgpt-mongo:/data/db - fastgpt-mongo:/data/db
healthcheck: healthcheck:
test: test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"]
[
'CMD',
'mongo',
'-u',
'myusername',
'-p',
'mypassword',
'--authenticationDatabase',
'admin',
'--eval',
"db.adminCommand('ping')"
]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
...@@ -146,7 +134,7 @@ services: ...@@ -146,7 +134,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.14.15 image: ghcr.io/labring/fastgpt:v4.14.18
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -174,7 +162,7 @@ services: ...@@ -174,7 +162,7 @@ services:
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0
# ==================== 基础配置 ==================== # ==================== 基础配置 ====================
# 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。 # 前端外部可访问的地址,用于自动补全文件资源路径。例如 https:fastgpt.cn,不能填 localhost。这个值可以不填,不填则发给模型的图片会是一个相对路径,而不是全路径,模型可能伪造Host。
FE_DOMAIN: http://localhost:3000 FE_DOMAIN:
# root key(最高权限) # root key(最高权限)
ROOT_KEY: *x-system-key ROOT_KEY: *x-system-key
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
...@@ -241,14 +229,14 @@ services: ...@@ -241,14 +229,14 @@ services:
LLM_REQUEST_TRACKING_RETENTION_HOURS: 6 LLM_REQUEST_TRACKING_RETENTION_HOURS: 6
# ==================== 功能开关与特殊配置 ==================== # ==================== 功能开关与特殊配置 ====================
# 自定义跨域;不配置时默认允许所有跨域(逗号分割) # 自定义跨域;不配置时默认允许所有跨域(逗号分割)
ALLOWED_ORIGINS: ALLOWED_ORIGINS:
# HTML 转 Markdown 最大字符数(超过后不执行转换) # HTML 转 Markdown 最大字符数(超过后不执行转换)
MAX_HTML_TRANSFORM_CHARS: 1000000 MAX_HTML_TRANSFORM_CHARS: 1000000
volumes: volumes:
- ./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.15 image: ghcr.io/labring/fastgpt-code-sandbox:v4.14.18
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
...@@ -286,19 +274,18 @@ services: ...@@ -286,19 +274,18 @@ services:
# Python allowed modules whitelist (comma-separated) # Python allowed modules whitelist (comma-separated)
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.15 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.18
networks: networks:
- app - app
ports: ports:
...@@ -406,7 +393,7 @@ services: ...@@ -406,7 +393,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.3 image: ghcr.io/labring/aiproxy:v0.5.6
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
...@@ -502,3 +489,4 @@ configs: ...@@ -502,3 +489,4 @@ configs:
[ingress] [ingress]
mode = "direct" mode = "direct"
This source diff could not be displayed because it is too large. You can view the blob instead.
Subproject commit c8a75dd14a1591f7270652824f51594687d07328 Subproject commit cd0d9a7ca0e200996bec3558287a4b652037dff4
...@@ -1272,7 +1272,7 @@ const ChatBox = ({ ...@@ -1272,7 +1272,7 @@ const ChatBox = ({
setQuestionGuide([]); setQuestionGuide([]);
setValue('chatStarted', false); setValue('chatStarted', false);
resumedChatTargetRef.current = undefined; resumedChatTargetRef.current = undefined;
abortRequest('leave'); // abortRequest('leave');
return () => { return () => {
abortRequest('leave'); abortRequest('leave');
......
...@@ -46,13 +46,17 @@ const OutLink = () => { ...@@ -46,13 +46,17 @@ const OutLink = () => {
value: PublishChannelEnum.apikey, value: PublishChannelEnum.apikey,
isProFn: false isProFn: false
}, },
{ ...(feConfigs?.show_publish_wechat !== false
icon: 'core/app/publish/wechat', ? [
title: t('publish:wechat.bot'), {
desc: t('publish:wechat.bot_desc'), icon: 'core/app/publish/wechat',
value: PublishChannelEnum.wechat, title: t('publish:wechat.bot'),
isProFn: false desc: t('publish:wechat.bot_desc'),
}, value: PublishChannelEnum.wechat,
isProFn: false
}
]
: []),
...(feConfigs?.show_publish_feishu !== false && ...(feConfigs?.show_publish_feishu !== false &&
!userInfo?.tags?.includes(UserTagsEnum.enum.wecom) !userInfo?.tags?.includes(UserTagsEnum.enum.wecom)
? [ ? [
......
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