jvinu
Free & open source· Your keys never leave your server

Finder for your data lake — on any cloud.

Open Parquet, CSV and Avro without downloading them, see Delta and Iceberg tables for what they are, and run SQL straight on files — across Amazon S3, Cloudflare R2, Azure, Google Cloud, Backblaze B2, Wasabi, Dropbox and OneDrive, from one web app on your own server.

  • 10+ storage providers
  • Delta & Iceberg aware
  • SQL on files (DuckDB)
  • No telemetry
  • AGPL-3.0 licence
media-vaultraw-assets2024-q3
NameSize

7 of 7 objects · 239 MB

A sample bucket you can click through: try the filters, then pick a file — the Quick Look pane follows.

Product tour

See how jvinu works in about a minute.

Connect storage, find and preview files, share a link with limits and download a folder as one zip — recorded in the real app, no edits.

Read what happens in the video
  1. Connect any cloud in seconds
  2. Browse folders with real thumbnails
  3. Upload files and folders
  4. Preview photos and video instantly
  5. Search the whole bucket
  6. Share links with an expiry, a download limit and a password
  7. Download a whole folder as one zip
  8. See what your storage costs
Why jvinu

Stop juggling a console for every cloud.

Media in S3, backups in B2, edge assets in R2, a project or two on Google Cloud or Azure — and a separate, admin-heavy console for each. jvinu puts them side by side.

Without jvinu

Fragmented and slow

  • A browser tab per cloud: the AWS, Azure, Google Cloud, Oracle and Cloudflare consoles, each with its own sign-in.
  • Clashing words for the same thing — buckets, containers, namespaces, Spaces.
  • Sharing a file means a raw presigned URL: no password, no download limit, no way to take it back.
  • Desktop tools that want your secret keys copied onto every laptop.

With jvinu

One calm window

  • One window that treats every provider as the same familiar file system.
  • Share links with an expiry, a download limit and a password — and revoke them any time.
  • Thumbnails, previews and costs up front, before you download a byte.
  • Keys encrypted on your server and used only there; the browser never receives them.
10+ providers

Works with Amazon S3, Cloudflare R2, Backblaze B2 and every major cloud.

Pick a provider, name the bucket, paste the keys. jvinu checks they can list the bucket before anything is saved — then every provider looks and works the same.

S3AWS SDK v3

Amazon S3

  • Any region — redirects followed for you
  • Storage classes and archive warnings
  • Presigned links, multipart uploads, SSE-S3
AZOfficial SDK

Azure Blob Storage

  • Storage account and container
  • Access tiers shown per blob
  • SAS links, block uploads
GCOfficial SDK

Google Cloud Storage

  • Service-account key JSON
  • Storage classes shown per object
  • V4 signed URLs, resumable uploads
OCOCI SDK

Oracle Cloud Object Storage

  • Tenancy namespace and API key
  • Native, atomic rename
  • Share links served through jvinu
R2S3 API

Cloudflare R2, Wasabi, Backblaze B2 & DigitalOcean Spaces

  • Endpoint built from your account or region
  • R2 jurisdictions: EU and FedRAMP
  • Zero-egress downloads shown as free
DBOAuth · PKCE

Dropbox

  • Sign in with an app key — no secret
  • The whole account or one folder
  • Real folders, moved in one step
ODMicrosoft Graph

OneDrive

  • Personal and work accounts
  • Sign in with a short device code
  • Large files in upload sessions
MYSelf-hosted

Your own storage

  • Bundled Garage server, set up for you
  • MinIO, Garage or any S3-compatible API
  • Floci emulators for local development

Try it without a cloud account

Start the Floci emulators and pick “Use Floci defaults” when connecting — S3, Azure, Google Cloud and Oracle, all on your machine.

Features

Everything you need to manage object storage, in the browser.

The everyday jobs — find, preview, share, move, download — made calm and fast, whichever cloud the files live in.

Preview data files in place

Parquet, CSV, JSON and Avro open as a table — columns, types, row count, first rows — read from a few kilobytes of the file, not the whole thing.

Delta, Iceberg and Hudi tables

Folders that are tables say so: version, files, rows, schema and history from their own metadata. Deleting or moving files inside one stops to warn you first.

SQL straight on files

SELECT … FROM 'sales/**/*.parquet' on any cloud, run by DuckDB in a sandbox that sees only those files. Save the result back as Parquet or CSV.

AI agents, without your keys — coming in jvinu Cloud

With jvinu Cloud, Claude Code, Cursor and other MCP clients will list, read, preview and query your files — scoped per token, read-only unless you say otherwise.

Compare and copy across clouds

What's missing from the backup? Diff two folders on any two providers by name, size and checksum — then copy what's missing in one click.

Live folders

Watch a folder while a pipeline writes to it: the listing refreshes itself and new files light up as they land.

Bulk metadata

Fix Content-Type and Cache-Control on hundreds of files at once, change storage classes and tags — the cure for a CDN serving files wrong.

READMEs, notes and team pins

A folder's README shows above its files, like on GitHub. Leave notes such as “don't delete — pipeline X reads this”, and pin what the team keeps opening.

Quick Look with the space bar

Space on any file shows it full size — photos, video, PDFs, code with highlighting, Markdown, data tables — and the arrow keys move to the next.

Search the whole bucket

⌘K searches every folder on the server, not only the ones you opened. Filter to images and video, data files, starred, or anything over 10 MB.

Share links with limits

Links that expire, stop after a number of downloads, ask for a password and can be revoked at any time. They work on every provider.

A share bucket for cheaper downloads

Serve links from a copy on a low-egress store such as Cloudflare R2 or your own server. Copied once, deleted when the link ends.

Encryption you control

Encrypt files with your own passphrase before they leave your server. It's rclone's crypt format, so rclone can always read them too.

Download folders as a zip

One streamed download for a folder or a selection — up to 10,000 files, with folder structure and names intact.

Know the cost before you click

Roughly what a download or share costs, egress and retrieval fees included — and a warning before you read from an archive tier.

Bulk actions as background jobs

Copy, move, rename and delete up to 100,000 objects with live progress and a cancel button. Nothing is ever overwritten silently.

A history of every change

An activity log for each bucket or folder: who uploaded, moved, renamed or deleted what, and when — plus share links made, revoked and downloaded. Kept for 180 days.

Drag-and-drop uploads

Drop in files or whole folders. They stream straight to the cloud in parts, with progress per file and no size-hungry temp copies.

Storage analytics

Size, growth by month, file types, storage classes and largest files for any bucket or folder — with an estimated monthly bill.

Public URLs for your CDN

Put Cloudflare or another CDN in front of a public bucket and copy correctly encoded public links, special characters and all.

Read-only by default, no telemetry

New connections start read-only: the server refuses every write until you allow it. Nothing about you or your files is ever sent anywhere.

Encryption

Encrypt files before they reach the cloud.

Keep your files private from your storage provider — with your own passphrase, and without giving up previews or sharing.

  • Your passphrase, your key

    Choose a passphrase when you connect a bucket. Every file is encrypted on your server before it's uploaded.

  • The provider sees only ciphertext

    Yet thumbnails, previews, search, zips and share links keep working — jvinu decrypts on the way out.

  • No lock-in

    It's rclone's crypt format, so rclone can decrypt the same files with the same passphrase, with or without jvinu.

Who it's for

Made for the way people actually use storage.

Data engineers

Check what a pipeline wrote without spinning up a notebook: preview the Parquet, query the partition, see the Delta table's last commit — on whichever cloud it landed.

Photographers and creators

Browse years of photos and footage in S3 or B2 by thumbnail, and send clients a password-protected link that expires on its own.

Agencies delivering to clients

Deliver big files from a cheap share bucket, cap the downloads, revoke when the project ends, and hand over whole folders as one zip.

Developers and DevOps

Inspect buckets across AWS, Google Cloud, Azure and local emulators from one tab. The folder you're in lives in the URL, so links land right there.

Homelabs and privacy

Run it with its bundled storage on a spare machine, encrypt with your own passphrase, and keep every key on hardware you own.

Compare

How jvinu compares.

Next to the consoles each cloud gives you, and the desktop apps that keep a copy of your keys on every computer.

jvinu compared with cloud consoles and desktop storage apps
FeatureCloud consolesDesktop storage appsjvinu
Every provider in one windowOne per cloudVariesYes
Works in any browser, nothing to install per computerYesNoYes
Team access without handing out keysPer-cloud usersKeys on each computerYes
Share links with expiry, download limits and passwordsExpiry onlyExpiry onlyYes
Download a folder as one zipNoVariesYes
Encryption before upload, readable by rcloneNoVariesYes
Download cost estimatesNoNoYes
Free and open source—VariesAGPL-3.0
Security architecture

Your keys stay on your server.

jvinu is self-hosted. Credentials live in your database, encrypted, and the browser only ever sees file names.

AES-256-GCM at rest

Every saved credential is sealed under a key derived from your JVINU_SECRET and bound to its connection.

Zero browser secrets

Keys never go back to the page — not in cookies, local storage or HTML. The browser holds only a session cookie.

Official SDKs, server-side

Every call goes out from your server through the AWS, Azure, Google Cloud and Oracle SDKs, or Dropbox's and Microsoft's own APIs.

  1. Your browser

    session cookie + CSRF token

  2. jvinu server

    decrypts keys in memory

  3. Official cloud SDK

    signs the request

  4. Your storage provider

    S3 · Azure · GCS · OCI · Dropbox · OneDrive

Built on

Framework
Next.js 16 (App Router)
UI
React 19 · Tailwind CSS v4
Language
TypeScript, strict mode
Database
SQLite, or Postgres
Hardening
CSRF tokens, strict CSP, sandboxed previews

Honest current limits

  • One shared workspace: every signed-in user sees every connection — no roles yet.
  • Single sign-on (OIDC) is built but not yet tested against a live identity provider.
  • Encryption covers file contents; file and folder names stay readable.
  • Background jobs run inside the server: a restart stops running ones (they're marked interrupted).
  • Uploads up to 5 GB per file by default (JVINU_MAX_UPLOAD_MB).
Get started free

Self-host jvinu with Docker in two minutes.

Set a master key and start it; you choose your password the first time you sign in. One small database file on a volume is all there is to back up.

1

Copy the example settings

2

Generate a master key for JVINU_SECRET

3

Start jvinu on http://localhost:3000

4

Optional: bundled storage on this machine

The first sign-in asks for a setup code from docker compose logs jvinu, so only you choose the password. Prefer config? Set JVINU_ADMIN_PASSWORD or the OIDC variables in .env. Health check: GET /api/health.

FAQ

Frequently asked questions.

What is jvinu?

jvinu is a free, open-source web app for browsing and managing files in object storage. It connects to Amazon S3, Cloudflare R2, Backblaze B2, Azure Blob Storage, Google Cloud Storage, Oracle Cloud, Wasabi, DigitalOcean Spaces, Dropbox, OneDrive and any S3-compatible server, and shows them all in one Finder-like window. You run it yourself, with Docker.

What does the name mean, and how do you say it?

jvinu is the Lojban word for “view” — what you see from where you stand. Say it “zhvee-noo” (the j as in “déjà vu”). One view over every bucket, table and file you have, on any cloud.

Can I preview Parquet, CSV and Avro files without downloading them?

Yes. Select a data file and jvinu shows its columns, types, row count and first 100 rows. For Parquet it reads only the footer and the first pages — a few kilobytes of a multi-gigabyte file — using a built-in DuckDB.

Does it understand Delta Lake, Apache Iceberg and Hudi tables?

Yes. A folder that is a table says so, with its version, file count, rows, schema, partitions and history read from the table's own metadata. Deleting, moving or uploading files inside a table stops to explain what would break, because those changes belong to the engine (Databricks, Spark, Snowflake).

Can I run SQL on files in S3, Azure or Google Cloud?

Yes. Write SELECT … FROM 'sales/**/*.parquet' and jvinu runs it with DuckDB in a sandbox that can only see those files, on any provider. Results can be saved back to a bucket as Parquet, CSV or JSON Lines.

Can AI agents like Claude Code or Cursor use my buckets through jvinu?

Not in the free self-hosted version. Access for AI agents through MCP is coming with jvinu Cloud: a token per agent, the connections it may reach and whether it may write — and the agent never holds your cloud keys.

Is jvinu free?

Yes. jvinu is open source under the GNU AGPL-3.0 licence and free to self-host, for personal or commercial use. Your only costs are your own server and what your storage provider charges.

How do I browse an S3 bucket without the AWS console?

Connect the bucket in jvinu with an access key that can list it. You then get folders, thumbnails, previews, search and drag-and-drop uploads in the browser — without signing in to the AWS console, and without giving the key to anyone else.

Can I share a file with a link that expires or needs a password?

Yes. Share links can expire after an hour, a day, a week or a month (or never), stop after a set number of downloads, ask for a password, and be revoked at any time from the Shared links view. They work on every provider, including ones that can't sign links themselves.

Can I encrypt files before they reach my cloud provider?

Yes. Connect a bucket with a passphrase and jvinu encrypts every file on your server before it's uploaded, so the provider only stores ciphertext. It uses rclone's crypt format, so rclone can decrypt the same files without jvinu.

Can I download a whole folder as a zip?

Yes. Select files and folders, or open a folder, and download them as one zip. It's streamed as it's read — nothing piles up on the server — and holds up to 10,000 files, with folder structure and non-English names intact.

Does it work with MinIO, Garage or Cloudflare R2?

Yes. Anything that speaks the S3 API works, including MinIO, Garage, Cloudflare R2, Backblaze B2, Wasabi and DigitalOcean Spaces. jvinu can even run its own Garage storage server for you.

Where are my access keys stored?

On your server only, in its database, encrypted with AES-256-GCM under a master key you choose. Keys are never sent to the browser, and every request to your storage is made from your server through the provider's official SDK.

How is jvinu different from rclone or a desktop S3 client?

rclone is a superb command-line tool, and jvinu can read and write its encrypted format. Desktop clients keep keys on each computer. jvinu is a shared web app: open it in any browser, preview and share files with limits, and keep the keys on one server.

How do I install it?

With Docker: copy .env.example to .env, set JVINU_SECRET, and run docker compose up -d. It's then on port 3000, where the first sign-in chooses your password, with a one-time setup code from docker compose logs jvinu. Add --profile storage for built-in storage on the same machine.

Take a break

Tier it right.

The commonest storage mistake is paying hot prices for cold data. Sort each file into the tier that fits how often it’s opened, and watch what it saves. The prices are real.

All your cloud storage in one calm window. Free, and yours.

Self-hosted · AGPL-3.0 · runs anywhere Docker does

Hear when jvinu ships

New releases, providers and jvinu Cloud news — a few emails a year. Unsubscribe from any of them.

We keep your address, the page you signed up from and a record of your consent, and use them only for these updates. Details and your rights: privacy policy.