A cloud backup client that syncs your files to your own cloud provider. Use your own billing, pay as you go.
- Use your own cloud provider - Connect your GCP or AWS account directly. Pay only for what you use with your provider's pricing
- Cost estimates - See estimated costs before sync (GCP) and restore operations
- Multiple backends - GCP Cloud Storage, AWS S3, or local folders
- Content-addressed storage - SHA-256 deduplication stores identical files only once
- Modern terminal UI - Interactive menus and live sync visualization built with React/Ink
- Cross-platform - macOS, Linux, and Windows binaries available
Download from Releases:
| Platform | Binary |
|---|---|
| macOS Apple Silicon | ubackup-darwin-arm64 |
| macOS Intel | ubackup-darwin-x64 |
| Linux x64 | ubackup-linux-x64 |
| Windows x64 | ubackup-windows-x64.exe |
Run ubackup to launch the interactive menu. The app guides you through adding remotes, selecting folders, and running backups.
All commands are also available directly via CLI. Run ubackup --help for the full command reference.
Configuration is stored in the standard config directory for your platform:
- macOS:
~/Library/Preferences/ubackup-nodejs/ - Linux:
~/.config/ubackup-nodejs/ - Windows:
%APPDATA%\ubackup-nodejs\
Cloud provider setup (credentials, buckets) is handled through the in-app wizard when adding a remote.
Files are stored by SHA-256 hash (content-addressed), enabling deduplication across your backup set. The app maintains one set of selected folders that can be backed up to any configured remote. Sync is incremental—only changed files are uploaded, with metadata-based reconciliation for fast startup even on large backup sets.
Requires Bun.
git clone https://github.com/ivokund/ubackup
cd ubackup
bun install
bun run start # Run in development
bun run check # Typecheck + tests + lint