Skip to content

drivebase/drivebase

Repository files navigation

Drivebase

Drivebase

Your cloud storage. One desktop. Runs anywhere.

Release Cloud Stars Ask DeepWiki


848shots_so

Watch demo

Drivebase is an open-source, self-hosted platform that connects your cloud storage providers β€” Google Drive, S3, local filesystem, and more β€” under a single interface. Browse, upload, transfer, and manage files across providers without touching each service separately.

The UI is designed as a desktop OS shell running in the browser. Apps (Files, Providers, Settings) open as windows you can move, resize, and switch between β€” making it feel like a native file manager rather than a typical web dashboard.

Quick Install

Run the installer in a terminal:

curl -fsSL https://drivebase.io/install | bash

This will create a drivebase/ directory with Docker Compose and a pre-configured config.toml (secrets auto-generated). After it finishes:

cd drivebase
docker compose up -d

Then open http://localhost:4000.

Features

  • Desktop shell interface β€” windowed apps, a taskbar, and a desktop shell; feels like a native file manager in the browser
  • Unified file browser β€” navigate folders and files across all connected providers in one place
  • Multi-provider support β€” Google Drive, AWS S3 (and S3-compatible services), local filesystem
  • Batch operations β€” copy, move, transfer, and delete across providers with preflight conflict analysis
  • Smart conflict resolution β€” detect conflicts before they happen; resolve with overwrite, skip, rename, or manual review
  • Real-time progress β€” live operation status via server-sent events; no polling required
  • Resumable uploads β€” chunked upload sessions survive browser reloads
  • Direct S3 uploads β€” presigned multipart URLs let clients upload straight to S3, bypassing the server
  • Storage usage β€” per-provider quota and usage tracking with on-demand refresh
  • Pluggable provider system β€” clean IStorageProvider interface makes adding new backends straightforward
  • GraphQL API β€” every capability is exposed through a typed GraphQL API

Supported Providers

  • Google Drive
  • AWS S3 / S3-compatible (Cloudflare R2, Wasabi, Backblaze B2, MinIO, etc.)
  • Local Filesystem
  • Dropbox
  • OneDrive
  • Box
  • Azure Blob Storage
  • SFTP

Tech Stack

Layer Technology
Runtime Bun
Frontend React 19, Vite, TanStack Router, Tailwind CSS 4
API GraphQL Yoga, graphql-sse
Workers BullMQ
Database PostgreSQL (Drizzle ORM)
Cache / Queue Redis (ioredis)
Auth Better Auth (cookie-based)

Getting Started

Prerequisites

  • Bun 1.3.5 or later
  • PostgreSQL 15+
  • Redis 7+

1. Clone and install

git clone https://github.com/drivebase/drivebase.git
cd drivebase
bun install

2. Configure

Copy the example config and fill in your values:

cp packages/config/config.example.toml config.toml

Minimum required values:

[server]
env = "prod"
port = 4000
host = "0.0.0.0"

[db]
url = "postgres://user:password@localhost:5432/drivebase"

[redis]
url = "redis://localhost:6379/0"

[crypto]
# Generate: openssl rand -base64 32
masterKeyBase64 = "<base64-encoded-32-byte-key>"

[auth]
# Generate: openssl rand -hex 32
betterAuthSecret = "<random-secret>"
baseUrl = "http://localhost:4000"
trustedOrigins = ["http://localhost:3000"]

3. Run migrations

bun run db:migrate

4. Start

bun run dev
  • API: http://localhost:4000
  • Web UI: http://localhost:3000

Contributing

Contributions are welcome. Please open an issue before starting significant work so we can align on direction.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes β€” run bun run typecheck and bun test before pushing
  4. Open a pull request

License

MIT

About

Drivebase is a cloud-agnostic file management platform for people and teams using multiple storage providers. πŸš€

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages