Dropbox โ
Store backups in Dropbox using OAuth 2.0 authentication. Dropbox provides a reliable cloud storage platform with generous free storage and simple setup.
Overview โ
Dropbox integration provides:
- โ๏ธ Cloud backup storage with 2 GB free tier
- ๐ OAuth 2.0 โ one-click browser authorization
- ๐ Automatic token refresh โ no manual re-authorization
- ๐ Visual folder browser โ browse and select target folders directly in the UI
- ๐ฆ Large file support โ chunked uploads for files > 150 MB
Prerequisites โ
Dropbox App Console Required
To use Dropbox as a storage destination, you need a Dropbox App with an App Key and App Secret configured in the Dropbox App Console.
This is a one-time setup that takes about 3 minutes.
Step 1: Create a Dropbox App โ
- Go to Dropbox App Console
- Click Create app
- Choose Scoped access
- Choose access type:
- App folder โ DBackup can only access its own folder (recommended for isolation)
- Full Dropbox โ DBackup can access your entire Dropbox (required if you want to choose a custom folder)
- Name your app:
DBackup(or your preferred name) - Click Create app
Step 2: Configure Permissions โ
- Go to the Permissions tab of your app
- Enable the following scopes:
files.metadata.readโ List folder contentsfiles.metadata.writeโ Create foldersfiles.content.readโ Download backup filesfiles.content.writeโ Upload backup filesaccount_info.readโ Verify connection
- Click Submit to save permissions
Permission Changes
If you change permissions after a user has already authorized, they need to re-authorize for the new scopes to take effect.
Step 3: Configure OAuth Redirect URI โ
- Go to the Settings tab of your app
- Scroll to OAuth 2 section
- Under Redirect URIs, add your DBackup callback URL:For local development:
https://your-dbackup-domain.com/api/adapters/dropbox/callbackhttp://localhost:3000/api/adapters/dropbox/callback - Copy the App Key and App Secret from the Settings page
Configuration โ
| Field | Description | Default |
|---|---|---|
| Name | Friendly name for this destination | Required |
| App Key | Dropbox App Key (Client ID) from App Console | Required |
| App Secret | Dropbox App Secret from App Console | Required |
| Folder Path | Target folder path (e.g. /backups) | Optional (root or app folder) |
Folder Browser โ
After authorizing Dropbox, you can use the visual folder browser to select a target folder:
- Go to the Configuration tab in the adapter dialog
- Click the ๐ Browse button next to the Folder Path field
- A dialog opens showing your Dropbox folder structure
- Single-click a folder to select it
- Double-click a folder to navigate into it
- Use the breadcrumb navigation, Home, and Up buttons to navigate
- Click Select Folder to set the path
The selected folder path is automatically filled in. Leave the field empty to use the root of your Dropbox (or app folder, depending on access type).
OAuth Authorization โ
After saving your Dropbox destination with App Key and App Secret:
- The UI shows an amber authorization status โ "Authorization required"
- Click Authorize with Dropbox
- Your browser opens Dropbox's consent screen
- Sign in and grant DBackup access
- Dropbox redirects back to DBackup
- A green success toast confirms authorization
- The status changes to green โ "Authorized"
Re-Authorization
You can re-authorize at any time by clicking the Re-authorize button. This is useful if you want to switch Dropbox accounts or if tokens become invalid.
How It Works โ
Authentication Flow โ
User clicks "Authorize"
โ DBackup generates Dropbox OAuth URL
โ Browser opens Dropbox consent screen
โ User grants access
โ Dropbox redirects with authorization code
โ DBackup exchanges code for refresh token
โ Refresh token stored encrypted in database
โ Access tokens generated on-the-fly via SDK (never stored)File Operations โ
- Upload: Creates files in the configured folder (simple upload up to 150 MB, chunked session upload for larger files)
- Download: Downloads files by resolving the full Dropbox path
- List: Lists all backup files in the target folder recursively
- Delete: Permanently removes files from Dropbox
- Read: Reads small files (e.g.,
.meta.jsonsidecar files) as text
Folder Structure โ
DBackup creates a folder hierarchy matching your job names:
Dropbox/
โโโ Your Folder (or Root)/
โโโ job-name/
โโโ backup_2024-01-15T12-00-00.sql
โโโ backup_2024-01-15T12-00-00.sql.meta.json
โโโ backup_2024-01-16T12-00-00.sql.gz.enc
โโโ backup_2024-01-16T12-00-00.sql.gz.enc.meta.json
โโโ ...Security โ
Credential Storage โ
| Credential | Storage |
|---|---|
| App Key (Client ID) | Encrypted in database (AES-256-GCM) |
| App Secret | Encrypted in database (AES-256-GCM) |
| Refresh Token | Encrypted in database (AES-256-GCM) |
| Access Token | Never stored โ auto-refreshed by SDK |
Token Management โ
- Refresh tokens are stored encrypted using your
ENCRYPTION_KEY - Access tokens are short-lived and auto-refreshed by the Dropbox SDK
- Revoking access in Dropbox Connected Apps immediately invalidates all tokens
Storage Limits โ
| Plan | Storage |
|---|---|
| Dropbox Basic (free) | 2 GB |
| Dropbox Plus | 2 TB |
| Dropbox Professional | 3 TB |
| Dropbox Business | 5 TB+ |
Troubleshooting โ
"Authorization required" after save โ
You need to complete the OAuth flow after saving the adapter. Click Authorize with Dropbox to start.
"redirect_uri_mismatch" or similar redirect error โ
The redirect URI in your Dropbox App Console doesn't match your DBackup URL. Ensure you've added:
https://your-domain.com/api/adapters/dropbox/callbackToken expired / invalid โ
Click Re-authorize in the adapter settings. Dropbox may invalidate tokens if:
- You revoked access in Dropbox Connected Apps settings
- The app permissions were changed
Empty folder browser โ
If the folder browser shows "No subfolders":
- With App folder access: The browser only shows the app's dedicated folder
- With Full Dropbox access: Ensure the
files.metadata.readpermission is enabled
Upload failures for large files โ
DBackup automatically uses chunked session uploads for files larger than 150 MB. If uploads still fail:
- Check your Dropbox storage quota
- Ensure
files.content.writepermission is enabled
Limitations โ
- File size: Up to 350 GB per file (with chunked upload)
- Free storage: 2 GB (Dropbox Basic)
- App folder mode: Can only access the app's dedicated folder, not your entire Dropbox
- No server-side encryption: Use DBackup's built-in encryption profiles for end-to-end encryption