S3-Compatible Storage
Connecting an S3-compatible bucket to freedam does two different jobs, and the product supports both. As an import source, it pulls the files already sitting in a bucket into the library - with metadata, previews, search, and versioning layered on top - and keeps them in sync as the bucket changes. As a storage backend, S3-compatible storage is where a self-hosted freedam deployment can keep the assets themselves.
What it does
The S3 connector is one of freedam's built-in sources (Admin → Sources). It works with Amazon S3 and with compatible storage from other providers - MinIO, Wasabi, and similar. A source remembers what it pulled last time: on every refresh, new files are imported as assets, changed files become a new version of the existing asset, and files that have disappeared from the bucket are handled the way you choose - archived safely and restored automatically if they return, or never removed at all.
The connection is strictly read-only. freedam only ever reads and lists files; it never writes back to your bucket, and the documentation shows how to grant it exactly that much access and nothing more.
How it works
Creating a source takes a short form: the bucket's name and region, access credentials (stored encrypted, never logged), optionally a folder within the bucket to restrict the import to, and - if you are not on Amazon - the address of your storage provider. A Test connection button verifies access before you save anything.
From there, the source behaves like every other freedam source. You map folders to collections, optionally match filenames against a catalog spreadsheet so files inherit product metadata, and refresh manually on every plan or set a refresh schedule (scheduled refresh is included in the Business plan). Before committing to a full import you can run a small sample, or a dry run that works out the complete plan without changing anything, with a live preview of exactly where each file would land. Unchanged files are skipped on every refresh, so keeping a stable bucket in sync costs almost nothing.
On the storage-backend side: a self-hosted freedam deployment can keep its originals and generated media on any S3-compatible store instead of local disk. That choice is made once, when the instance is set up, and is independent of any import sources you configure in the admin UI.
Good to know
- Minimal access is enough. A read-only credential limited to the one bucket is all the connector needs - there is no reason to ever grant it write access.
- Safety stops are built in. If a refresh suddenly sees more than half the bucket missing, the run pauses for review instead of archiving your library over what is probably a temporary glitch. A refresh that cannot log in stops with an authentication error on its run page; fix the credentials and refresh again.
- Versioning is real versioning. A changed file becomes a new version of the same asset - links, collection memberships, and shares stay intact. Identical re-uploads are detected and skipped.
- Configuring sources is an admin permission.
The connector setup and mapping options are covered in depth in the documentation. Running self-hosted and weighing storage options? Get in touch.