This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 0a779f5d0c1 [doc] add SeaweedFS storage doc (#3653)
0a779f5d0c1 is described below

commit 0a779f5d0c1dfff44390ac1919d9808b2491de9e
Author: Chris Lu <[email protected]>
AuthorDate: Sat May 16 08:22:32 2026 -0700

    [doc] add SeaweedFS storage doc (#3653)
---
 docs-next/lakehouse/storages/seaweedfs.md          | 69 ++++++++++++++++++++++
 .../current/lakehouse/storages/seaweedfs.md        | 69 ++++++++++++++++++++++
 .../version-3.x/lakehouse/storages/seaweedfs.md    | 69 ++++++++++++++++++++++
 .../version-4.x/lakehouse/storages/seaweedfs.md    | 69 ++++++++++++++++++++++
 sidebars-next.ts                                   |  1 +
 .../version-3.x/lakehouse/storages/seaweedfs.md    | 69 ++++++++++++++++++++++
 .../version-4.x/lakehouse/storages/seaweedfs.md    | 69 ++++++++++++++++++++++
 versioned_sidebars/version-3.x-sidebars.json       |  1 +
 versioned_sidebars/version-4.x-sidebars.json       |  1 +
 9 files changed, 417 insertions(+)

diff --git a/docs-next/lakehouse/storages/seaweedfs.md 
b/docs-next/lakehouse/storages/seaweedfs.md
new file mode 100644
index 00000000000..5f9b0c2f4f7
--- /dev/null
+++ b/docs-next/lakehouse/storages/seaweedfs.md
@@ -0,0 +1,69 @@
+---
+{
+    "title": "SeaweedFS | Storages",
+    "language": "en",
+    "description": "This document describes the parameters required to access 
SeaweedFS, which apply to the following scenarios:",
+    "sidebar_label": "SeaweedFS"
+}
+---
+
+# SeaweedFS
+
+This document describes the parameters required to access 
[SeaweedFS](https://seaweedfs.com/), which apply to the following scenarios:
+
+- Catalog properties
+- Table Valued Function properties
+- Broker Load properties
+- Export properties
+- Outfile properties
+
+**Doris uses the S3 Client to access SeaweedFS through the S3-compatible 
protocol.** This page covers SeaweedFS S3 (normal) buckets. For Iceberg tables 
stored in SeaweedFS S3 Table Buckets (REST Catalog + S3 served from the same 
`weed` process), see [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md).
+
+## Quick start with `weed mini`
+
+`weed mini` brings up a SeaweedFS S3 endpoint in a single process, seeding 
credentials and a pre-created bucket from environment variables:
+
+```bash
+AWS_ACCESS_KEY_ID=admin \
+AWS_SECRET_ACCESS_KEY=secret \
+S3_BUCKET=my-bucket \
+weed mini -dir=/data
+```
+
+The S3 endpoint is then reachable at `http://localhost:8333` with `my-bucket` 
already created and `admin` / `secret` as valid credentials. See [Quick Start 
with `weed 
mini`](https://github.com/seaweedfs/seaweedfs/wiki/Quick-Start-with-weed-mini) 
for Docker, custom ports, multiple buckets, and reverse-proxy options.
+
+## Parameter Overview
+
+SeaweedFS is accessed via the S3-compatible protocol, so it uses the same 
`s3.*` properties as AWS S3.
+
+| Property Name                   | Description                                
                                                          | Default | Required |
+| ------------------------------- | 
----------------------------------------------------------------------------------------------------
 | ------- | -------- |
+| s3.endpoint                     | SeaweedFS S3 gateway endpoint, for example 
`http://seaweedfs.example.com:8333`                        |         | Yes      
|
+| s3.access_key                   | Access key configured in the SeaweedFS S3 
IAM config                                                  |         | Yes     
 |
+| s3.secret_key                   | Secret key paired with `s3.access_key`     
                                                           |         | Yes      
|
+| s3.region                       | Region. SeaweedFS does not validate the 
value but the AWS S3 SDK requires one, e.g. `us-east-1`       |         | Yes   
   |
+| s3.use_path_style               | Set to `true`. SeaweedFS serves objects 
under `http://<endpoint>/<bucket>/<key>`                       | FALSE   | No   
    |
+| s3.connection.maximum           | Maximum number of connections to the 
SeaweedFS S3 gateway                                              | 50      | 
No       |
+| s3.connection.request.timeout   | Request timeout in milliseconds            
                                                            | 3000    | No      
 |
+| s3.connection.timeout           | Connection establishment timeout in 
milliseconds                                                       | 1000    | 
No       |
+
+### Using path-style access
+
+SeaweedFS uses path-style addressing (`http://<endpoint>/<bucket>/<key>`) and 
does not provision per-bucket DNS subdomains, so set `s3.use_path_style = true` 
for every connection.
+
+## Example Configuration
+
+```properties
+"s3.access_key" = "your-access-key",
+"s3.secret_key" = "your-secret-key",
+"s3.endpoint" = "http://seaweedfs.example.com:8333";,
+"s3.region" = "us-east-1",
+"s3.use_path_style" = "true"
+```
+
+## Usage Recommendations
+
+* Set `s3.use_path_style = true`. SeaweedFS does not use per-bucket DNS 
subdomains.
+* `s3.region` is required by the AWS S3 SDK but ignored by SeaweedFS — any 
non-empty value works.
+* For HTTPS, terminate TLS at a reverse proxy and start `weed` with 
`-s3.externalUrl=https://<proxy>` so S3 signature verification works.
+* For Iceberg tables in SeaweedFS S3 Table Buckets, see [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md).
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs-next/current/lakehouse/storages/seaweedfs.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs-next/current/lakehouse/storages/seaweedfs.md
new file mode 100644
index 00000000000..46c1ae49a58
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs-next/current/lakehouse/storages/seaweedfs.md
@@ -0,0 +1,69 @@
+---
+{
+    "title": "SeaweedFS | Storages",
+    "language": "zh-CN",
+    "description": "本文档介绍访问 SeaweedFS 所需的参数,这些参数适用于以下场景:",
+    "sidebar_label": "SeaweedFS"
+}
+---
+
+# SeaweedFS
+
+本文档介绍访问 [SeaweedFS](https://seaweedfs.com/) 所需的参数,这些参数适用于以下场景:
+
+- Catalog 属性
+- Table Valued Function 属性
+- Broker Load 属性
+- Export 属性
+- Outfile 属性
+
+**Doris 使用 S3 Client,通过 S3 兼容协议访问 SeaweedFS。** 本文针对 SeaweedFS S3(普通)Bucket 
的使用场景。如需将 Iceberg 表存储在 SeaweedFS 的 S3 Table Bucket 中(由同一 `weed` 进程同时提供 REST 
Catalog 与 S3),请参见 [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md)。
+
+## 使用 `weed mini` 快速启动
+
+`weed mini` 会在单一进程内启动 SeaweedFS S3 服务,并通过环境变量注入凭证及预创建 Bucket:
+
+```bash
+AWS_ACCESS_KEY_ID=admin \
+AWS_SECRET_ACCESS_KEY=secret \
+S3_BUCKET=my-bucket \
+weed mini -dir=/data
+```
+
+启动后 S3 服务可通过 `http://localhost:8333` 访问,`my-bucket` 已创建,凭证为 `admin` / 
`secret`。Docker、自定义端口、多桶、反向代理等更多用法请参见 [Quick Start with `weed 
mini`](https://github.com/seaweedfs/seaweedfs/wiki/Quick-Start-with-weed-mini)。
+
+## 参数总览
+
+由于 SeaweedFS 通过 S3 兼容协议访问,所以使用与 AWS S3 相同的 `s3.*` 参数。
+
+| 属性名称                          | 描述                                           
                                            | 默认值 | 是否必须 |
+| --------------------------------- | 
------------------------------------------------------------------------------------------
 | ------ | -------- |
+| s3.endpoint                       | SeaweedFS S3 网关地址,例如 
`http://seaweedfs.example.com:8333`                              |        | 是   
    |
+| s3.access_key                     | 在 SeaweedFS S3 IAM 配置中创建的 Access Key     
                                             |        | 是       |
+| s3.secret_key                     | 与 `s3.access_key` 配对使用的 Secret Key       
                                              |        | 是       |
+| s3.region                         | 区域。SeaweedFS 不会校验取值,但 AWS S3 SDK 
要求必须设置,例如 `us-east-1`                    |        | 是       |
+| s3.use_path_style                 | 建议设置为 `true`。SeaweedFS 通过 
`http://<endpoint>/<bucket>/<key>` 形式提供对象访问         | FALSE  | 否       |
+| s3.connection.maximum             | 与 SeaweedFS S3 网关之间的最大连接数                
                                          | 50     | 否       |
+| s3.connection.request.timeout     | 请求超时时间,单位为毫秒                             
                                          | 3000   | 否       |
+| s3.connection.timeout             | 建立连接的超时时间,单位为毫秒                          
                                       | 1000   | 否       |
+
+### 使用 Path-style 访问
+
+SeaweedFS 使用 path-style 地址(`http://<endpoint>/<bucket>/<key>`),不为每个 bucket 
分配独立的 DNS 子域名,因此请将 `s3.use_path_style` 设置为 `true`。
+
+## 示例配置
+
+```properties
+"s3.access_key" = "your-access-key",
+"s3.secret_key" = "your-secret-key",
+"s3.endpoint" = "http://seaweedfs.example.com:8333";,
+"s3.region" = "us-east-1",
+"s3.use_path_style" = "true"
+```
+
+## 使用建议
+
+* 将 `s3.use_path_style` 设置为 `true`,SeaweedFS 不使用 per-bucket DNS 子域名。
+* `s3.region` 是 AWS S3 SDK 的必填项,SeaweedFS 本身不会校验该值,填入任意非空字符串即可。
+* 如需 HTTPS,可在反向代理上终止 TLS,并使用 `-s3.externalUrl=https://<proxy>` 启动 `weed`,以便 S3 
签名校验通过。
+* 如需将 Iceberg 表存储在 SeaweedFS 的 S3 Table Bucket 中,详见 [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/lakehouse/storages/seaweedfs.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/lakehouse/storages/seaweedfs.md
new file mode 100644
index 00000000000..46c1ae49a58
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/lakehouse/storages/seaweedfs.md
@@ -0,0 +1,69 @@
+---
+{
+    "title": "SeaweedFS | Storages",
+    "language": "zh-CN",
+    "description": "本文档介绍访问 SeaweedFS 所需的参数,这些参数适用于以下场景:",
+    "sidebar_label": "SeaweedFS"
+}
+---
+
+# SeaweedFS
+
+本文档介绍访问 [SeaweedFS](https://seaweedfs.com/) 所需的参数,这些参数适用于以下场景:
+
+- Catalog 属性
+- Table Valued Function 属性
+- Broker Load 属性
+- Export 属性
+- Outfile 属性
+
+**Doris 使用 S3 Client,通过 S3 兼容协议访问 SeaweedFS。** 本文针对 SeaweedFS S3(普通)Bucket 
的使用场景。如需将 Iceberg 表存储在 SeaweedFS 的 S3 Table Bucket 中(由同一 `weed` 进程同时提供 REST 
Catalog 与 S3),请参见 [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md)。
+
+## 使用 `weed mini` 快速启动
+
+`weed mini` 会在单一进程内启动 SeaweedFS S3 服务,并通过环境变量注入凭证及预创建 Bucket:
+
+```bash
+AWS_ACCESS_KEY_ID=admin \
+AWS_SECRET_ACCESS_KEY=secret \
+S3_BUCKET=my-bucket \
+weed mini -dir=/data
+```
+
+启动后 S3 服务可通过 `http://localhost:8333` 访问,`my-bucket` 已创建,凭证为 `admin` / 
`secret`。Docker、自定义端口、多桶、反向代理等更多用法请参见 [Quick Start with `weed 
mini`](https://github.com/seaweedfs/seaweedfs/wiki/Quick-Start-with-weed-mini)。
+
+## 参数总览
+
+由于 SeaweedFS 通过 S3 兼容协议访问,所以使用与 AWS S3 相同的 `s3.*` 参数。
+
+| 属性名称                          | 描述                                           
                                            | 默认值 | 是否必须 |
+| --------------------------------- | 
------------------------------------------------------------------------------------------
 | ------ | -------- |
+| s3.endpoint                       | SeaweedFS S3 网关地址,例如 
`http://seaweedfs.example.com:8333`                              |        | 是   
    |
+| s3.access_key                     | 在 SeaweedFS S3 IAM 配置中创建的 Access Key     
                                             |        | 是       |
+| s3.secret_key                     | 与 `s3.access_key` 配对使用的 Secret Key       
                                              |        | 是       |
+| s3.region                         | 区域。SeaweedFS 不会校验取值,但 AWS S3 SDK 
要求必须设置,例如 `us-east-1`                    |        | 是       |
+| s3.use_path_style                 | 建议设置为 `true`。SeaweedFS 通过 
`http://<endpoint>/<bucket>/<key>` 形式提供对象访问         | FALSE  | 否       |
+| s3.connection.maximum             | 与 SeaweedFS S3 网关之间的最大连接数                
                                          | 50     | 否       |
+| s3.connection.request.timeout     | 请求超时时间,单位为毫秒                             
                                          | 3000   | 否       |
+| s3.connection.timeout             | 建立连接的超时时间,单位为毫秒                          
                                       | 1000   | 否       |
+
+### 使用 Path-style 访问
+
+SeaweedFS 使用 path-style 地址(`http://<endpoint>/<bucket>/<key>`),不为每个 bucket 
分配独立的 DNS 子域名,因此请将 `s3.use_path_style` 设置为 `true`。
+
+## 示例配置
+
+```properties
+"s3.access_key" = "your-access-key",
+"s3.secret_key" = "your-secret-key",
+"s3.endpoint" = "http://seaweedfs.example.com:8333";,
+"s3.region" = "us-east-1",
+"s3.use_path_style" = "true"
+```
+
+## 使用建议
+
+* 将 `s3.use_path_style` 设置为 `true`,SeaweedFS 不使用 per-bucket DNS 子域名。
+* `s3.region` 是 AWS S3 SDK 的必填项,SeaweedFS 本身不会校验该值,填入任意非空字符串即可。
+* 如需 HTTPS,可在反向代理上终止 TLS,并使用 `-s3.externalUrl=https://<proxy>` 启动 `weed`,以便 S3 
签名校验通过。
+* 如需将 Iceberg 表存储在 SeaweedFS 的 S3 Table Bucket 中,详见 [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/seaweedfs.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/seaweedfs.md
new file mode 100644
index 00000000000..46c1ae49a58
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/seaweedfs.md
@@ -0,0 +1,69 @@
+---
+{
+    "title": "SeaweedFS | Storages",
+    "language": "zh-CN",
+    "description": "本文档介绍访问 SeaweedFS 所需的参数,这些参数适用于以下场景:",
+    "sidebar_label": "SeaweedFS"
+}
+---
+
+# SeaweedFS
+
+本文档介绍访问 [SeaweedFS](https://seaweedfs.com/) 所需的参数,这些参数适用于以下场景:
+
+- Catalog 属性
+- Table Valued Function 属性
+- Broker Load 属性
+- Export 属性
+- Outfile 属性
+
+**Doris 使用 S3 Client,通过 S3 兼容协议访问 SeaweedFS。** 本文针对 SeaweedFS S3(普通)Bucket 
的使用场景。如需将 Iceberg 表存储在 SeaweedFS 的 S3 Table Bucket 中(由同一 `weed` 进程同时提供 REST 
Catalog 与 S3),请参见 [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md)。
+
+## 使用 `weed mini` 快速启动
+
+`weed mini` 会在单一进程内启动 SeaweedFS S3 服务,并通过环境变量注入凭证及预创建 Bucket:
+
+```bash
+AWS_ACCESS_KEY_ID=admin \
+AWS_SECRET_ACCESS_KEY=secret \
+S3_BUCKET=my-bucket \
+weed mini -dir=/data
+```
+
+启动后 S3 服务可通过 `http://localhost:8333` 访问,`my-bucket` 已创建,凭证为 `admin` / 
`secret`。Docker、自定义端口、多桶、反向代理等更多用法请参见 [Quick Start with `weed 
mini`](https://github.com/seaweedfs/seaweedfs/wiki/Quick-Start-with-weed-mini)。
+
+## 参数总览
+
+由于 SeaweedFS 通过 S3 兼容协议访问,所以使用与 AWS S3 相同的 `s3.*` 参数。
+
+| 属性名称                          | 描述                                           
                                            | 默认值 | 是否必须 |
+| --------------------------------- | 
------------------------------------------------------------------------------------------
 | ------ | -------- |
+| s3.endpoint                       | SeaweedFS S3 网关地址,例如 
`http://seaweedfs.example.com:8333`                              |        | 是   
    |
+| s3.access_key                     | 在 SeaweedFS S3 IAM 配置中创建的 Access Key     
                                             |        | 是       |
+| s3.secret_key                     | 与 `s3.access_key` 配对使用的 Secret Key       
                                              |        | 是       |
+| s3.region                         | 区域。SeaweedFS 不会校验取值,但 AWS S3 SDK 
要求必须设置,例如 `us-east-1`                    |        | 是       |
+| s3.use_path_style                 | 建议设置为 `true`。SeaweedFS 通过 
`http://<endpoint>/<bucket>/<key>` 形式提供对象访问         | FALSE  | 否       |
+| s3.connection.maximum             | 与 SeaweedFS S3 网关之间的最大连接数                
                                          | 50     | 否       |
+| s3.connection.request.timeout     | 请求超时时间,单位为毫秒                             
                                          | 3000   | 否       |
+| s3.connection.timeout             | 建立连接的超时时间,单位为毫秒                          
                                       | 1000   | 否       |
+
+### 使用 Path-style 访问
+
+SeaweedFS 使用 path-style 地址(`http://<endpoint>/<bucket>/<key>`),不为每个 bucket 
分配独立的 DNS 子域名,因此请将 `s3.use_path_style` 设置为 `true`。
+
+## 示例配置
+
+```properties
+"s3.access_key" = "your-access-key",
+"s3.secret_key" = "your-secret-key",
+"s3.endpoint" = "http://seaweedfs.example.com:8333";,
+"s3.region" = "us-east-1",
+"s3.use_path_style" = "true"
+```
+
+## 使用建议
+
+* 将 `s3.use_path_style` 设置为 `true`,SeaweedFS 不使用 per-bucket DNS 子域名。
+* `s3.region` 是 AWS S3 SDK 的必填项,SeaweedFS 本身不会校验该值,填入任意非空字符串即可。
+* 如需 HTTPS,可在反向代理上终止 TLS,并使用 `-s3.externalUrl=https://<proxy>` 启动 `weed`,以便 S3 
签名校验通过。
+* 如需将 Iceberg 表存储在 SeaweedFS 的 S3 Table Bucket 中,详见 [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md)。
diff --git a/sidebars-next.ts b/sidebars-next.ts
index 66c3a929342..3310f78ff3b 100644
--- a/sidebars-next.ts
+++ b/sidebars-next.ts
@@ -695,6 +695,7 @@ const sidebars: SidebarsConfig = {
                         'lakehouse/storages/tencent-cos',
                         'lakehouse/storages/huawei-obs',
                         'lakehouse/storages/baidu-bos',
+                        'lakehouse/storages/seaweedfs',
                         'lakehouse/storages/minio',
                         'lakehouse/storages/juicefs',
                         'lakehouse/storages/ozone',
diff --git a/versioned_docs/version-3.x/lakehouse/storages/seaweedfs.md 
b/versioned_docs/version-3.x/lakehouse/storages/seaweedfs.md
new file mode 100644
index 00000000000..5f9b0c2f4f7
--- /dev/null
+++ b/versioned_docs/version-3.x/lakehouse/storages/seaweedfs.md
@@ -0,0 +1,69 @@
+---
+{
+    "title": "SeaweedFS | Storages",
+    "language": "en",
+    "description": "This document describes the parameters required to access 
SeaweedFS, which apply to the following scenarios:",
+    "sidebar_label": "SeaweedFS"
+}
+---
+
+# SeaweedFS
+
+This document describes the parameters required to access 
[SeaweedFS](https://seaweedfs.com/), which apply to the following scenarios:
+
+- Catalog properties
+- Table Valued Function properties
+- Broker Load properties
+- Export properties
+- Outfile properties
+
+**Doris uses the S3 Client to access SeaweedFS through the S3-compatible 
protocol.** This page covers SeaweedFS S3 (normal) buckets. For Iceberg tables 
stored in SeaweedFS S3 Table Buckets (REST Catalog + S3 served from the same 
`weed` process), see [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md).
+
+## Quick start with `weed mini`
+
+`weed mini` brings up a SeaweedFS S3 endpoint in a single process, seeding 
credentials and a pre-created bucket from environment variables:
+
+```bash
+AWS_ACCESS_KEY_ID=admin \
+AWS_SECRET_ACCESS_KEY=secret \
+S3_BUCKET=my-bucket \
+weed mini -dir=/data
+```
+
+The S3 endpoint is then reachable at `http://localhost:8333` with `my-bucket` 
already created and `admin` / `secret` as valid credentials. See [Quick Start 
with `weed 
mini`](https://github.com/seaweedfs/seaweedfs/wiki/Quick-Start-with-weed-mini) 
for Docker, custom ports, multiple buckets, and reverse-proxy options.
+
+## Parameter Overview
+
+SeaweedFS is accessed via the S3-compatible protocol, so it uses the same 
`s3.*` properties as AWS S3.
+
+| Property Name                   | Description                                
                                                          | Default | Required |
+| ------------------------------- | 
----------------------------------------------------------------------------------------------------
 | ------- | -------- |
+| s3.endpoint                     | SeaweedFS S3 gateway endpoint, for example 
`http://seaweedfs.example.com:8333`                        |         | Yes      
|
+| s3.access_key                   | Access key configured in the SeaweedFS S3 
IAM config                                                  |         | Yes     
 |
+| s3.secret_key                   | Secret key paired with `s3.access_key`     
                                                           |         | Yes      
|
+| s3.region                       | Region. SeaweedFS does not validate the 
value but the AWS S3 SDK requires one, e.g. `us-east-1`       |         | Yes   
   |
+| s3.use_path_style               | Set to `true`. SeaweedFS serves objects 
under `http://<endpoint>/<bucket>/<key>`                       | FALSE   | No   
    |
+| s3.connection.maximum           | Maximum number of connections to the 
SeaweedFS S3 gateway                                              | 50      | 
No       |
+| s3.connection.request.timeout   | Request timeout in milliseconds            
                                                            | 3000    | No      
 |
+| s3.connection.timeout           | Connection establishment timeout in 
milliseconds                                                       | 1000    | 
No       |
+
+### Using path-style access
+
+SeaweedFS uses path-style addressing (`http://<endpoint>/<bucket>/<key>`) and 
does not provision per-bucket DNS subdomains, so set `s3.use_path_style = true` 
for every connection.
+
+## Example Configuration
+
+```properties
+"s3.access_key" = "your-access-key",
+"s3.secret_key" = "your-secret-key",
+"s3.endpoint" = "http://seaweedfs.example.com:8333";,
+"s3.region" = "us-east-1",
+"s3.use_path_style" = "true"
+```
+
+## Usage Recommendations
+
+* Set `s3.use_path_style = true`. SeaweedFS does not use per-bucket DNS 
subdomains.
+* `s3.region` is required by the AWS S3 SDK but ignored by SeaweedFS — any 
non-empty value works.
+* For HTTPS, terminate TLS at a reverse proxy and start `weed` with 
`-s3.externalUrl=https://<proxy>` so S3 signature verification works.
+* For Iceberg tables in SeaweedFS S3 Table Buckets, see [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md).
diff --git a/versioned_docs/version-4.x/lakehouse/storages/seaweedfs.md 
b/versioned_docs/version-4.x/lakehouse/storages/seaweedfs.md
new file mode 100644
index 00000000000..5f9b0c2f4f7
--- /dev/null
+++ b/versioned_docs/version-4.x/lakehouse/storages/seaweedfs.md
@@ -0,0 +1,69 @@
+---
+{
+    "title": "SeaweedFS | Storages",
+    "language": "en",
+    "description": "This document describes the parameters required to access 
SeaweedFS, which apply to the following scenarios:",
+    "sidebar_label": "SeaweedFS"
+}
+---
+
+# SeaweedFS
+
+This document describes the parameters required to access 
[SeaweedFS](https://seaweedfs.com/), which apply to the following scenarios:
+
+- Catalog properties
+- Table Valued Function properties
+- Broker Load properties
+- Export properties
+- Outfile properties
+
+**Doris uses the S3 Client to access SeaweedFS through the S3-compatible 
protocol.** This page covers SeaweedFS S3 (normal) buckets. For Iceberg tables 
stored in SeaweedFS S3 Table Buckets (REST Catalog + S3 served from the same 
`weed` process), see [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md).
+
+## Quick start with `weed mini`
+
+`weed mini` brings up a SeaweedFS S3 endpoint in a single process, seeding 
credentials and a pre-created bucket from environment variables:
+
+```bash
+AWS_ACCESS_KEY_ID=admin \
+AWS_SECRET_ACCESS_KEY=secret \
+S3_BUCKET=my-bucket \
+weed mini -dir=/data
+```
+
+The S3 endpoint is then reachable at `http://localhost:8333` with `my-bucket` 
already created and `admin` / `secret` as valid credentials. See [Quick Start 
with `weed 
mini`](https://github.com/seaweedfs/seaweedfs/wiki/Quick-Start-with-weed-mini) 
for Docker, custom ports, multiple buckets, and reverse-proxy options.
+
+## Parameter Overview
+
+SeaweedFS is accessed via the S3-compatible protocol, so it uses the same 
`s3.*` properties as AWS S3.
+
+| Property Name                   | Description                                
                                                          | Default | Required |
+| ------------------------------- | 
----------------------------------------------------------------------------------------------------
 | ------- | -------- |
+| s3.endpoint                     | SeaweedFS S3 gateway endpoint, for example 
`http://seaweedfs.example.com:8333`                        |         | Yes      
|
+| s3.access_key                   | Access key configured in the SeaweedFS S3 
IAM config                                                  |         | Yes     
 |
+| s3.secret_key                   | Secret key paired with `s3.access_key`     
                                                           |         | Yes      
|
+| s3.region                       | Region. SeaweedFS does not validate the 
value but the AWS S3 SDK requires one, e.g. `us-east-1`       |         | Yes   
   |
+| s3.use_path_style               | Set to `true`. SeaweedFS serves objects 
under `http://<endpoint>/<bucket>/<key>`                       | FALSE   | No   
    |
+| s3.connection.maximum           | Maximum number of connections to the 
SeaweedFS S3 gateway                                              | 50      | 
No       |
+| s3.connection.request.timeout   | Request timeout in milliseconds            
                                                            | 3000    | No      
 |
+| s3.connection.timeout           | Connection establishment timeout in 
milliseconds                                                       | 1000    | 
No       |
+
+### Using path-style access
+
+SeaweedFS uses path-style addressing (`http://<endpoint>/<bucket>/<key>`) and 
does not provision per-bucket DNS subdomains, so set `s3.use_path_style = true` 
for every connection.
+
+## Example Configuration
+
+```properties
+"s3.access_key" = "your-access-key",
+"s3.secret_key" = "your-secret-key",
+"s3.endpoint" = "http://seaweedfs.example.com:8333";,
+"s3.region" = "us-east-1",
+"s3.use_path_style" = "true"
+```
+
+## Usage Recommendations
+
+* Set `s3.use_path_style = true`. SeaweedFS does not use per-bucket DNS 
subdomains.
+* `s3.region` is required by the AWS S3 SDK but ignored by SeaweedFS — any 
non-empty value works.
+* For HTTPS, terminate TLS at a reverse proxy and start `weed` with 
`-s3.externalUrl=https://<proxy>` so S3 signature verification works.
+* For Iceberg tables in SeaweedFS S3 Table Buckets, see [Integration with 
SeaweedFS](../best-practices/doris-seaweedfs.md).
diff --git a/versioned_sidebars/version-3.x-sidebars.json 
b/versioned_sidebars/version-3.x-sidebars.json
index ffb70d35376..29af291b547 100644
--- a/versioned_sidebars/version-3.x-sidebars.json
+++ b/versioned_sidebars/version-3.x-sidebars.json
@@ -500,6 +500,7 @@
                                 "lakehouse/storages/tencent-cos",
                                 "lakehouse/storages/huawei-obs",
                                 "lakehouse/storages/baidu-bos",
+                                "lakehouse/storages/seaweedfs",
                                 "lakehouse/storages/minio"
                             ]
                         },
diff --git a/versioned_sidebars/version-4.x-sidebars.json 
b/versioned_sidebars/version-4.x-sidebars.json
index 11138299b9f..a5aea30923b 100644
--- a/versioned_sidebars/version-4.x-sidebars.json
+++ b/versioned_sidebars/version-4.x-sidebars.json
@@ -482,6 +482,7 @@
                                 "lakehouse/storages/tencent-cos",
                                 "lakehouse/storages/huawei-obs",
                                 "lakehouse/storages/baidu-bos",
+                                "lakehouse/storages/seaweedfs",
                                 "lakehouse/storages/minio",
                                 "lakehouse/storages/juicefs",
                                 "lakehouse/storages/ozone"


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to