S3¶
For MinIO, Backblaze B2, Cloudflare R2, Wasabi, AWS S3, and any other S3-compatible storage. The S3 protocol and its request signing are built into the app.
{
"kind": "s3",
"name": "MinIO",
"endpoint": "https://nas.example.com:9000",
"bucket": "my-bucket"
}
Fields¶
| Field | Default | Meaning |
|---|---|---|
endpoint |
required | The server's address, with its port when it has one |
bucket |
required | The bucket to browse |
region |
us- |
The region requests are signed for. Most self-hosted servers accept any |
path_ |
true |
true: addresses like server/, which MinIO and most self-hosted servers need. false: bucket., as AWS prefers |
prefix |
"" |
Only show what's under this prefix (e.g. photos/), as if it were the top of the bucket |
screens, meta |
See The config format |
Signing in¶
The host's card asks for an access key ID and a secret access key. Make a key that can read (and, to change things, write) the bucket; it never has to be your account's main key.
| Service | endpoint |
region |
|---|---|---|
| MinIO | https:// |
us- (or whatever the server is set to) |
| Backblaze B2 | https:// |
the region in that address, e.g. eu- |
| Cloudflare R2 | https:// |
auto |
| Wasabi | https:// |
the region in that address |
| AWS | https:// |
the bucket's region; path_ |
How folders work¶
S3 has no folders, only keys like photos/2024/cat.jpg. The app shows them as folders the way every S3 browser does:
the part up to each / is a folder.
- New folder writes an empty marker object (
photos/2024/), so an empty folder still shows. - Rename and move copy every object to its new key, then delete the old ones. S3 has no rename, so renaming a big folder takes a while.
What works¶
| Browsing | Folders and files, with sizes and last modified dates |
| Changes | Upload, new folder, rename, move, delete |
| Thumbnails | Video frames, album covers, and HEIC and AVIF photos, read from the files; other photos show their tile |
| Previews | Images, video and audio (streamed, with seeking), text, PDFs |
| Inside zips Nightly | A zip's contents in its details, and its files saved one by one: only the parts of the zip needed are read |
| Share links | A signed link to the file, valid for one hour: anyone with it can download the file until then |