Home
Softono

Drivebase

Open source TypeScript
215
Stars
26
Forks
14
Issues
3
Watchers
2 months
Last Commit

 About Drivebase

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

Platforms

Web Self-hosted Cloud Docker

Languages

TypeScript

Need Help Installing Drivebase?

We provide expert installation service for this software. Our team will install, configure, and secure Drivebase on your server. plans start at just $30.

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