Your storage. Your server. One calmer place to work with files.
NDrive brings browser-local files, multiple Google Drive accounts, and an S3-compatible bucket into one self-hosted workspace. Browse and organize files, choose an upload destination, or let NDrive route each file to one connected destination.
| Keep files close | Bring storage together | Route with clarity |
|---|---|---|
| Keep files in this browser profile, or upload to a cloud provider. | Browse multiple Google Drive accounts and S3-compatible storage from one workspace. | See combined Google quota, while each uploaded file stays in one chosen account. |
| If you want to… | Open this guide |
|---|---|
| Run NDrive on your computer | Quick start |
| Learn Docker and Compose step by step | Docker guide |
| Connect one or more Google Drive accounts | Google Drive setup |
| Configure AWS S3, Cloudflare R2, or another S3-compatible service | S3 setup |
| Understand combined quota and upload routing | Upload routing |
| Back up the database and credentials | Backups and recovery |
| Fix a setup or connection issue | Troubleshooting |
Requires Node.js 22.13 or newer. From the project folder:
npm install
npm startThen open http://localhost:4173 and create the owner account. For Docker, provider setup, and the full step-by-step instructions, follow the NDrive User Guide.
- NDrive runs on your computer or server; browser-local files stay in that browser profile.
- Google Drive and S3 credentials are handled by the NDrive server. Google refresh tokens are encrypted in SQLite.
- Multiple Google Drive accounts can contribute to a combined quota view. A single file upload still goes to one destination; NDrive does not split a file across accounts.
- Google sign-in for an NDrive user is separate from connecting Google Drive for file storage.
Private by default: the server binds to
127.0.0.1unless configured otherwise. Keep it on localhost or behind a private VPN. Do not expose it directly to the public internet.
Early-stage project: NDrive has not completed an external security review or Google OAuth verification. It does not yet include email verification, password reset, or admin user management. Review current limits before inviting users.
- Runtime: Node.js 22.13+, built-in SQLite
- Storage: Browser IndexedDB, Google Drive, and one instance-configured S3-compatible bucket
- Deployment: Local Node.js or Docker Compose
- Full documentation: NDrive User Guide