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.