From bcbcbab1cff32b9a5ea3e7ee07945062cc4ae6ba Mon Sep 17 00:00:00 2001 From: xqvvu Date: Mon, 22 Dec 2025 10:20:58 +0800 Subject: [PATCH] chore: rename env variable --- deploy/docker/cn/docker-compose.pg.yml | 31 +++++++++++++++++-- packages/service/common/s3/constants.ts | 8 ++--- .../common/security/fileUrlValidator.ts | 4 +-- projects/app/.env.template | 2 +- 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/deploy/docker/cn/docker-compose.pg.yml b/deploy/docker/cn/docker-compose.pg.yml index 0647f55fc..028b4518c 100644 --- a/deploy/docker/cn/docker-compose.pg.yml +++ b/deploy/docker/cn/docker-compose.pg.yml @@ -20,6 +20,21 @@ x-share-db-config: &x-share-db-config S3_SECRET_KEY: minioadmin S3_PUBLIC_BUCKET: fastgpt-public # 公开读私有写桶 S3_PRIVATE_BUCKET: fastgpt-private # 私有读写桶 + STORAGE_VENDOR: minio # minio | aws-s3 | cos | oss + STORAGE_REGION: us-east-1 + STORAGE_ACCESS_KEY_ID: minioadmin + STORAGE_SECRET_ACCESS_KEY: minioadmin + STORAGE_PUBLIC_BUCKET: fastgpt-public + STORAGE_PRIVATE_BUCKET: fastgpt-private + STORAGE_EXTERNAL_ENDPOINT: https://minio.com # 一个公开的、前端和用户可以直接访问的对象存储连接 + STORAGE_S3_ENDPOINT: http://fastgpt-minio:9000 # 协议://域名(IP):端口 + STORAGE_S3_FORCE_PATH_STYLE: true + STORAGE_S3_MAX_RETRIES: 3 + STORAGE_OSS_ENDPOINT: oss-cn-hangzhou.aliyuncs.com + STORAGE_OSS_CNAME: false + STORAGE_OSS_SECURE: false + STORAGE_OSS_INTERNAL: false + STORAGE_COS_PROTOCOL: 'https:' # 向量库相关配置 x-vec-config: &x-vec-config @@ -47,7 +62,6 @@ services: timeout: 5s retries: 10 - mongo: image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # cpu 不支持 AVX 时候使用 4.4.29 container_name: mongo @@ -61,7 +75,19 @@ services: volumes: - ./mongo/data:/data/db healthcheck: - test: ['CMD', 'mongo', '-u', 'myusername', '-p', 'mypassword', '--authenticationDatabase', 'admin', '--eval', "db.adminCommand('ping')"] + test: + [ + 'CMD', + 'mongo', + '-u', + 'myusername', + '-p', + 'mypassword', + '--authenticationDatabase', + 'admin', + '--eval', + "db.adminCommand('ping')", + ] interval: 10s timeout: 5s retries: 5 @@ -266,4 +292,3 @@ networks: fastgpt: aiproxy: vector: - diff --git a/packages/service/common/s3/constants.ts b/packages/service/common/s3/constants.ts index 708677d7b..3773ecf56 100644 --- a/packages/service/common/s3/constants.ts +++ b/packages/service/common/s3/constants.ts @@ -48,7 +48,7 @@ export function createDefaultStorageOptions() { return { vendor: 'minio', forcePathStyle: true, - externalBaseUrl: process.env.STORAGE_EXTERNAL_BASE_URL || undefined, + externalBaseUrl: process.env.STORAGE_EXTERNAL_ENDPOINT || undefined, endpoint: process.env.STORAGE_S3_ENDPOINT || 'http://localhost:9000', region: process.env.STORAGE_REGION || 'us-east-1', publicBucket: process.env.STORAGE_PUBLIC_BUCKET || 'fastgpt-public', @@ -71,7 +71,7 @@ export function createDefaultStorageOptions() { return { vendor: 'aws-s3', forcePathStyle: process.env.STORAGE_S3_FORCE_PATH_STYLE === 'true' ? true : false, - externalBaseUrl: process.env.STORAGE_EXTERNAL_BASE_URL || undefined, + externalBaseUrl: process.env.STORAGE_EXTERNAL_ENDPOINT || undefined, endpoint: process.env.STORAGE_S3_ENDPOINT || '', region: process.env.STORAGE_REGION || 'us-east-1', publicBucket: process.env.STORAGE_PUBLIC_BUCKET || 'fastgpt-public', @@ -93,7 +93,7 @@ export function createDefaultStorageOptions() { case 'cos': { return { vendor: 'cos', - externalBaseUrl: process.env.STORAGE_EXTERNAL_BASE_URL || undefined, + externalBaseUrl: process.env.STORAGE_EXTERNAL_ENDPOINT || undefined, region: process.env.STORAGE_REGION || 'ap-shanghai', publicBucket: process.env.STORAGE_PUBLIC_BUCKET || 'fastgpt-public', privateBucket: process.env.STORAGE_PRIVATE_BUCKET || 'fastgpt-private', @@ -115,7 +115,7 @@ export function createDefaultStorageOptions() { case 'oss': { return { vendor: 'oss', - externalBaseUrl: process.env.STORAGE_EXTERNAL_BASE_URL || undefined, + externalBaseUrl: process.env.STORAGE_EXTERNAL_ENDPOINT || undefined, endpoint: process.env.STORAGE_OSS_ENDPOINT || '', region: process.env.STORAGE_REGION || 'oss-cn-hangzhou', publicBucket: process.env.STORAGE_PUBLIC_BUCKET || 'fastgpt-public', diff --git a/packages/service/common/security/fileUrlValidator.ts b/packages/service/common/security/fileUrlValidator.ts index c10acaa1e..496e6853c 100644 --- a/packages/service/common/security/fileUrlValidator.ts +++ b/packages/service/common/security/fileUrlValidator.ts @@ -3,9 +3,9 @@ const systemWhiteList = (() => { if (process.env.STORAGE_S3_ENDPOINT) { list.push(process.env.STORAGE_S3_ENDPOINT); } - if (process.env.STORAGE_EXTERNAL_BASE_URL) { + if (process.env.STORAGE_EXTERNAL_ENDPOINT) { try { - const urlData = new URL(process.env.STORAGE_EXTERNAL_BASE_URL); + const urlData = new URL(process.env.STORAGE_EXTERNAL_ENDPOINT); list.push(urlData.hostname); } catch (error) {} } diff --git a/projects/app/.env.template b/projects/app/.env.template index 91467af4e..af72966e4 100644 --- a/projects/app/.env.template +++ b/projects/app/.env.template @@ -132,7 +132,7 @@ STORAGE_PUBLIC_BUCKET=fastgpt-public STORAGE_PRIVATE_BUCKET=fastgpt-private # 一个公开的、前端和用户可以直接访问的对象存储连接 # - 比如 MinIO 的反向代理链接或者一个 CDN: https://s3.example.com -STORAGE_EXTERNAL_BASE_URL= +STORAGE_EXTERNAL_ENDPOINT= # ️⭕ 兼容 S3 协议的对象存储需要额外填的 # S3 端点连接 URL 为了避免歧义 填写完整的、包含协议与端口的 URL # - 本地 MinIO: http://127.0.0.1:9000