Your notes on S3: Plainva with MinIO, R2 or Backblaze B2
A few self-hosters who tried Plainva kept asking me some version of the same question: they already have a bucket sitting there, so why would syncing notes to it need them to sign in anywhere? Fair point, and the honest answer is it doesn’t have to. Object storage is about as unglamorous as infrastructure gets — an endpoint, a bucket name, a key pair — so that’s exactly what Plainva asks for, and nothing more.
No browser, just a key pair
Open Settings → Sync, pick S3-compatible, fill in the endpoint, region, bucket, access key and secret, then point it at a folder in the bucket and a local folder to mirror. No OAuth screen, no bouncing out to a browser and back. Plainva signs every request itself with AWS Signature v4, so it genuinely doesn’t matter whose storage you point it at: MinIO or Garage in your own basement, Cloudflare R2, Backblaze B2, Wasabi, Hetzner. Path-style addressing is the default, since that’s what most self-hosted setups expect, with a toggle for virtual-hosted style if yours isn’t. Once it’s connected it behaves like every other provider under the hood — the same offline queue, the same three-way merge, the same visual conflict resolver for the rare edit that collides with itself. Renaming or deleting a folder runs as a prefix sweep, copy then delete, because object stores don’t really have folders, just keys that look like paths. Your keys sit in the OS keychain, never in a config file.
Cheap, boring, and yours to move
Buckets are cheap, boring and durable, which is exactly what I want sitting under my own notes. If you’re already running MinIO at home or paying pocket change for R2 or B2, your vault becomes one more prefix in storage you already trust — and because it’s plain Markdown underneath, you’re never stuck with Plainva specifically: mc cp or rclone can move that bucket anywhere, any time.
If you’ve been holding off on “sync” because it sounded like one more account to create — this is the provider where there isn’t one.
- Setup guide: sync configuration
- Try it: plainva.com
— Marco