goDrive
Self-hosted file manager for families. Your files stay on your hardware, in normal folders, forever accessible without the app.
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