Skip to main content
SeaweedFS speaks the S3 API with AWS Signature V4 against its S3 gateway endpoint (e.g. http://localhost:8333). The gateway is self-hosted, so the endpoint is required and path-style addressing is used by default. Credentials (access key + secret key from the gateway’s -s3.config) are created the same way in both runtimes, see SeaweedFS Credentials.

Node (server-side)

Browser (presigned URLs)

The browser SeaweedFSResource is secret-free, your backend signs each operation using your SeaweedFS keys and returns a URL. SeaweedFS accepts AWS Signature V4, so @aws-sdk/s3-request-presigner works, pointed at your gateway endpoint.

1. Server: sign URLs with the SeaweedFS endpoint

SeaweedFS uses path-style URLs (forcePathStyle: true), virtual-hosted style requires extra DNS setup on a self-hosted gateway.

2. Browser: wire it up

endpoint on the browser config is only used for display/logging; the actual endpoint is baked into the presigned URLs your backend returns.
See the SeaweedFS resource docs for the equivalent Python wiring.