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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BarakoCMS.Files.S3" Version="0.1.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BarakoCMS.Files.S3" Version="0.1.3" />
                    
Directory.Packages.props
<PackageReference Include="BarakoCMS.Files.S3" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BarakoCMS.Files.S3 --version 0.1.3
                    
#r "nuget: BarakoCMS.Files.S3, 0.1.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BarakoCMS.Files.S3@0.1.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BarakoCMS.Files.S3&version=0.1.3
                    
Install as a Cake Addin
#tool nuget:?package=BarakoCMS.Files.S3&version=0.1.3
                    
Install as a Cake Tool

<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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.3 41 8/15/2026
0.1.1 96 8/3/2026
0.1.0 92 7/27/2026