goDrive

Self-hosted file manager for families. Your files stay on your hardware, in normal folders, forever accessible without the app.

License Go version Platforms Storage

Everything you need, nothing you don't

Built for a small family setup. No cloud accounts, no subscriptions, no lock-in.

📁

Filesystem Native

Files stay as normal files on disk. No content-addressed storage, no opaque UUIDs. Access them via SMB, rsync, or shell anytime.

⬆️

Resumable Uploads

TUS protocol for all uploads. Drop a 20 GB video, lose wifi halfway — it resumes exactly where it left off.

🖼️

Rich Previews

Thumbnails and previews for images, RAW photos, video poster frames, PDFs, and Office documents. Inode-stable across renames.

📱

Mobile Apps

Flutter apps for Android and iOS. Browse, view, and upload from your phone. Background uploads with foreground-service support.

🔍

Fast Search

Indexed filename and path search. Finds files instantly across hundreds of thousands of entries.

🔒

Security First

Argon2id passwords, CSRF protection, login rate limiting, path confinement. Designed for private home deployment.

🔔

Webhooks

HMAC-signed event delivery for upload, move, delete, and restore. Wire up automations without polling.

🐳

Docker Ready

Multi-stage, multi-arch builds for amd64 and arm64. Compose templates for Unraid and standard NAS setups.

🔄

External Sync

fsnotify watcher plus periodic reconciliation scanner picks up files added by SMB, rsync, or shell without manual reindex.

Up in minutes

One config file. One container. Done.

# Copy and edit config
cp .env.example .env

# Set at minimum:
# GODRIVE_BOOTSTRAP_ADMIN_PASSWORD=change-me
# GODRIVE_DATA_ROOT=/path/to/your/files
# GODRIVE_ADDR=0.0.0.0:8121

# Start with Docker
docker compose -f deploy/docker-compose.yml up -d
:material-rocket-launch: Full Quick Start Guide