CommunityToolkit.Aspire.Hosting.SeaweedFS
13.4.1-beta.685
Prefix Reserved
dotnet add package CommunityToolkit.Aspire.Hosting.SeaweedFS --version 13.4.1-beta.685
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.SeaweedFS -Version 13.4.1-beta.685
<PackageReference Include="CommunityToolkit.Aspire.Hosting.SeaweedFS" Version="13.4.1-beta.685" />
<PackageVersion Include="CommunityToolkit.Aspire.Hosting.SeaweedFS" Version="13.4.1-beta.685" />
<PackageReference Include="CommunityToolkit.Aspire.Hosting.SeaweedFS" />
paket add CommunityToolkit.Aspire.Hosting.SeaweedFS --version 13.4.1-beta.685
#r "nuget: CommunityToolkit.Aspire.Hosting.SeaweedFS, 13.4.1-beta.685"
#:package CommunityToolkit.Aspire.Hosting.SeaweedFS@13.4.1-beta.685
#addin nuget:?package=CommunityToolkit.Aspire.Hosting.SeaweedFS&version=13.4.1-beta.685&prerelease
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.SeaweedFS&version=13.4.1-beta.685&prerelease
CommunityToolkit.Aspire.Hosting.SeaweedFS library
Provides extension methods and resource definitions for the Aspire AppHost to support running SeaweedFS containers with flexible API configurations (Native Master/Volume/Filer APIs or an S3-compatible Gateway).
Getting Started
Install the package
In your AppHost project, install the package using the following command:
dotnet add package CommunityToolkit.Aspire.Hosting.SeaweedFS
Example usage
Then, in the Program.cs file of AppHost, add a SeaweedFS resource, opt-in to the desired APIs, and consume the connection in your dependent projects:
var builder = DistributedApplication.CreateBuilder(args);
// Example 1: Standard usage enabling the S3-Compatible API Gateway
// Note: Enabling S3 implicitly enables and exposes the Filer API underneath.
var seaweedS3 = builder.AddSeaweedFS("seaweedfs")
.WithS3()
.WithDataVolume();
// Example 2: Native usage enabling only the Filer API (No S3 API running)
var seaweedNative = builder.AddSeaweedFS("seaweed-native")
.WithFiler()
.WithDataVolume();
// Reference the SeaweedFS resource in a project.
var apiService = builder.AddProject<Projects.ApiService>("apiservice")
.WithReference(seaweedS3);
builder.Build().Run();
When you use .WithReference(), the hosting library dynamically builds the connection string based on your opt-ins. For instance, if you chained .WithS3(), the connection string will inject the S3 endpoint, credentials, and the explicit FilerEndpoint to be consumed by the Aspire SeaweedFS Client package automatically.
Configuring SeaweedFS
SeaweedFS provides several modular extension methods to configure its container based on your needs:
API Activation (Opt-In)
WithS3(int? s3Port): Enables the SeaweedFS S3-Compatible API Gateway (defaults to target port8333). This implicitly enables the Filer API since it is required by the S3 gateway.WithFiler(int? filerPort): Enables the SeaweedFS Native Filer API (defaults to target port8888) without starting the S3 gateway.WithHostPort(int? port): Configures the explicit host port for the core Master API (defaults to target port9333).
Credentials & Security
WithAccessKey(IResourceBuilder<ParameterResource> accessKey): Configures a custom Access Key parameter for the S3 identity mapping wrapper.WithSecretKey(IResourceBuilder<ParameterResource> secretKey): Configures a custom Secret Key parameter for the S3 identity mapping wrapper.WithS3ConfigFile(string configFilePath): Overrides the dynamic configuration injection and enforces using a specific custom locals3.jsonconfiguration file mounted directly into the container.
Persistence
WithDataBindMount(string source, bool isReadOnly): Binds a local host directory to the container's/datafolder to persist your cluster data across restarts.WithDataVolume(string? name, bool isReadOnly): Uses a named Docker volume to persist SeaweedFS cluster data.
Feedback & contributing
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Aspire.Hosting (>= 13.4.3)
- MessagePack (>= 2.5.301)
-
net8.0
- Aspire.Hosting (>= 13.4.3)
- MessagePack (>= 2.5.301)
-
net9.0
- Aspire.Hosting (>= 13.4.3)
- MessagePack (>= 2.5.301)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on CommunityToolkit.Aspire.Hosting.SeaweedFS:
| Package | Downloads |
|---|---|
|
CommunityToolkit.Aspire.SeaweedFS.Client
An Aspire client integration for SeaweedFS using the AWSSDK.S3 client. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 13.4.1-beta.685 | 43 | 7/9/2026 |
| 13.4.1-beta.683 | 39 | 7/9/2026 |
| 13.4.1-beta.680 | 38 | 7/7/2026 |
| 13.4.1-beta.676 | 43 | 7/7/2026 |