Skip to main content
VeloDB Cloud 26.x·Apache Doris 4.x (up to 4.0 supported)·"Since X.Y" tags refer to Apache Doris versionsVersion mapping

SeaweedFS

This document describes the parameters required to access SeaweedFS, 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.

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:

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 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 NameDescriptionDefaultRequired
s3.endpointSeaweedFS S3 gateway endpoint, for example http://seaweedfs.example.com:8333Yes
s3.access_keyAccess key configured in the SeaweedFS S3 IAM configYes
s3.secret_keySecret key paired with s3.access_keyYes
s3.regionRegion. SeaweedFS does not validate the value but the AWS S3 SDK requires one, e.g. us-east-1Yes
s3.use_path_styleSet to true. SeaweedFS serves objects under http://<endpoint>/<bucket>/<key>FALSENo
s3.connection.maximumMaximum number of connections to the SeaweedFS S3 gateway50No
s3.connection.request.timeoutRequest timeout in milliseconds3000No
s3.connection.timeoutConnection establishment timeout in milliseconds1000No

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​

"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.