BarakoCMS.Files.S3
0.1.3
dotnet add package BarakoCMS.Files.S3 --version 0.1.3
NuGet\Install-Package BarakoCMS.Files.S3 -Version 0.1.3
<PackageReference Include="BarakoCMS.Files.S3" Version="0.1.3" />
<PackageVersion Include="BarakoCMS.Files.S3" Version="0.1.3" />
<PackageReference Include="BarakoCMS.Files.S3" />
paket add BarakoCMS.Files.S3 --version 0.1.3
#r "nuget: BarakoCMS.Files.S3, 0.1.3"
#:package BarakoCMS.Files.S3@0.1.3
#addin nuget:?package=BarakoCMS.Files.S3&version=0.1.3
#tool nuget:?package=BarakoCMS.Files.S3&version=0.1.3
<div align="center"> <img src="https://raw.githubusercontent.com/BaryoDev/barakoCMS/master/assets/icon.png" width="96" height="96" alt="BarakoCMS.Files.S3 logo" /> <h1>BarakoCMS.Files.S3</h1> <p><em>S3-compatible object storage for the barakoCMS Files module.</em></p> </div>
Stores uploads in AWS S3, Cloudflare R2, MinIO, or anything else that speaks the S3 API, instead of on the application's own disk. Public files get a direct, CDN-friendly URL; private files stay private and are proxied through the API so authorisation is still checked on every read.
Enable it
Register it alongside the Files module, which owns the upload endpoints:
builder.Services.AddBarakoCMS(builder.Configuration, modules =>
{
modules.Add(new BarakoCMS.Files.FilesModule());
modules.Add(new BarakoCMS.Files.S3.S3FilesModule());
});
Configuration
{
"Files": {
"S3": {
"Bucket": "my-bucket",
"Region": "us-east-1",
"AccessKey": "...",
"SecretKey": "...",
"ServiceUrl": null,
"ForcePathStyle": false,
"PublicBaseUrl": null,
"UsePublicReadAcl": false
}
}
}
The section is Files:S3. With no Files:S3:Bucket set the provider stays dormant and the default
storage keeps serving, so a typo here shows up as "uploads still work but nothing reaches the
bucket" rather than as an error.
| Key | Notes |
|---|---|
ServiceUrl |
Set for R2 or MinIO; leave null for AWS |
ForcePathStyle |
Usually true for MinIO |
PublicBaseUrl |
Serve public files from your CDN domain |
UsePublicReadAcl |
Leave false on buckets that block public ACLs, which is the safer default |
Keys belong in environment variables or a secret store, never in a checked-in appsettings.json.
Part of barakoCMS
This is an optional module for barakoCMS, an open-source
headless CMS for .NET 8. Every module is published under the barakocms-module tag, so a single
search on nuget.org returns the whole set.
Contributions are welcome — including a module icon or other design work. See CONTRIBUTING.md.
Licensed under MPL-2.0.
If barakoCMS is useful to you, a star on the repository helps other people find it.
| 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 was computed. 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 was computed. 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. |
-
net8.0
- AspNetCore.HealthChecks.Npgsql (>= 8.0.0)
- AspNetCore.HealthChecks.System (>= 9.0.0)
- AspNetCore.HealthChecks.UI (>= 8.0.0)
- AspNetCore.HealthChecks.UI.Client (>= 8.0.0)
- AspNetCore.HealthChecks.UI.InMemory.Storage (>= 8.0.0)
- AWSSDK.S3 (>= 3.7.511.8)
- BarakoCMS.Files (>= 0.1.3)
- BCrypt.Net-Next (>= 4.0.3)
- FastEndpoints (>= 5.21.2)
- FastEndpoints.Security (>= 5.21.2)
- FastEndpoints.Swagger (>= 5.21.2)
- IdentityModel (>= 7.0.0)
- KubernetesClient (>= 18.0.13)
- Marten (>= 8.37.0)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Extensions.Http.Resilience (>= 10.1.0)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.22.0)
- Otp.NET (>= 1.4.0)
- prometheus-net.AspNetCore (>= 8.2.1)
- Serilog.AspNetCore (>= 10.0.0)
- Serilog.Sinks.Console (>= 6.1.1)
- Serilog.Sinks.File (>= 7.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.22.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.