# Local File System & NAS Backup Setup

> How to use local storage in Blober. Back up local files (hard drives, NAS, SD cards) to the cloud, or download cloud files to your computer.

The Local provider reads and writes to your computer's file system. This is particularly useful in the desktop app for backing up local files to cloud storage or syncing cloud files locally.

## Capabilities

* ✅ Browse folders and files via the desktop file picker
* ✅ Create directories
* ✅ Upload/copy files
* ✅ Download/copy files
* ✅ Delete files and directories
* ✅ Move files
* ✅ Get file metadata (size, dates, permissions)
* ✅ Real-time file change detection

## Prerequisites

* Blober Desktop App installed
* Read/write permissions to the directories you want to access

## Path Format

Local paths are standard absolute paths on your operating system:

**Windows:**

```plaintext
C:\Users\YourName\Documents
D:\Backups\photos
```

**macOS:**

```plaintext
/Users/YourName/Documents
/Volumes/ExternalDrive/backups
```

**Linux:**

```plaintext
/home/yourname/documents
/mnt/backup
/media/yourname/external-drive
```

## Configuration

No credentials are required for the Local provider. Access is based on the permissions of the user running the Blober desktop app.

[]()

### Deduplication

* **Default:** Skip if a file with the same name exists
* **Used for:** Destination

Controls what happens when the exact computed destination path already exists. Local supports all three policies:

* **Skip if a file with the same name exists** (default) - the new file is not copied when its exact destination path already exists.
* **Overwrite the existing file** - the file at the destination is replaced.
* **Keep both files (rename the new copy)** - the new file is saved as `name (1).ext`, then `name (2).ext`, and so on.

Use **Skip if a file with the same name exists** when rerunning the same export into the same folder and you do not want existing files downloaded again. Local checks the destination before opening the source and repeats the check when claiming the final filename, so two concurrent transfers cannot race to create the same path.

> **Caution**
>
> Skipping and overwriting compare the destination path, not file contents. Some providers, including Google Photos, can contain different files with the same filename. Those files are skipped by **Skip if a file with the same name exists**, so choose **Keep both files (rename the new copy)** when preserving every same-name file matters.

For the shared behavior across providers, including how deduplication relates to resuming a task, see [Deduplication](/kb/docs/getting-started/deduplication/). For help choosing between resuming an interrupted task and starting a new export, read [How Blober Handles Duplicate Files in Long-Running Backups](/kb/articles/avoid-duplicate-files-long-running-backups/). For a complete source setup, see [How to Back Up Google Photos Without Google Takeout](/kb/articles/how-to-backup-google-photos-without-takeout/).

Content-hash deduplication is not currently available. A future same-filename hash mode could compare the existing file with the completed temporary download without a database change, but it would not avoid downloading the bytes and would reread the existing file. Efficient destination-wide hash matching requires a persisted index that maps files to their hashes.

### Browsing Files

1. In Blober, go to **Workflows** => **New Workflow**
2. Select **Local** as source or destination
3. Click **Browse** to open the file picker
4. Navigate to and select your folder
5. The path will be populated automatically

## Use Cases

### Backup Local Files to Cloud

Create a workflow to automatically backup your Documents folder to Azure Blob, S3, or other cloud storage.

**Example:**

* **Source:** Local `/Users/you/Documents`
* **Destination:** AWS S3 `my-backup-bucket/documents/`
* **Action:** Copy

### Download Cloud Files Locally

Sync your Google Drive or cloud storage files to a local folder for offline access.

**Example:**

* **Source:** Google Drive `My Files/Projects`
* **Destination:** Local `/Users/you/Projects`
* **Action:** Copy

### Local-to-Local Copy

Copy files between different drives or directories on your computer.

**Example:**

* **Source:** Local `/Users/you/Downloads`
* **Destination:** Local `/Volumes/ExternalDrive/Archive`
* **Action:** Move

### Testing Workflows

Use local storage to test workflow configurations before running against cloud providers.

## Important Safety Behavior

To avoid accidentally listing your entire file system, the Local provider will **not** list anything when no start directory is specified. Browsing is always done via the UI file picker.

## Permissions by Operating System

### Windows

* Access depends on NTFS permissions and UAC settings
* Run Blober as Administrator if you need access to system directories
* Right-click folder => **Properties** => **Security** to check permissions

### macOS

* You may need to grant **Files and Folders** or **Full Disk Access** permissions
* Go to **System Preferences** => **Security & Privacy** => **Privacy** => **Files and Folders**
* If prompted, click **Allow** when Blober requests folder access

### Linux

* Permissions are based on the user running the app and mount permissions

* Check permissions with `ls -la /path/to/folder`

* Fix permissions if needed:

  ```bash
  chmod -R u+rw /path/to/folder
  ```

## Common Issues

### Slow Performance

* Exclude directories with many small files (1000s of files)
* Check if antivirus is scanning files during operations
* Ensure disk health is good (check SMART status)
* Consider using filters to exclude temporary files

### External Drive Not Showing

* Ensure the drive is properly mounted
* On Linux, check `/media/` or `/mnt/` for mount points
* On macOS, check `/Volumes/`
* On Windows, check if drive letter is assigned

## Best Practices

### Path Selection

* Choose specific folders rather than entire drives

* Avoid system directories:

  * Windows: `C:\Windows`, `C:\Program Files`
  * macOS: `/System`, `/Library`
  * Linux: `/bin`, `/etc`, `/usr`

* Create dedicated backup folders for organization

### Performance

* Local operations are generally faster than cloud operations
* For directories with thousands of files, use filters to limit scope
* Consider excluding temporary files (`.tmp`, `.log`, cache directories)

### Security

* Local storage never leaves your computer
* No data is sent to Blober servers
* Perfect for sensitive files that shouldn't be uploaded to cloud

## Advanced Configuration

### Symbolic Links

Blober can follow symbolic links:

* Useful for organizing files across locations
* Be careful with circular links (A => B => A)
* Enable in workflow settings if needed

### Hidden Files

* By default, hidden files (starting with `.` on Unix) may be hidden
* Enable "Show hidden files" in settings to include them
* Useful for backing up configuration files (`.bashrc`, `.gitconfig`)

### File Filters

Exclude certain file types from operations:

**Example filters:**

```plaintext
*.tmp      # Temporary files
*.log      # Log files
.DS_Store  # macOS metadata
Thumbs.db  # Windows thumbnails
node_modules/  # Dependencies
```

## Security Considerations

### Sandboxing

The desktop app respects OS-level sandboxing:

* Limited access to system files
* User explicitly grants folder access
* No access to other applications' data

### Privacy

* Files stay on your computer (for local-to-local operations)
* Cloud transfers go directly to the destination provider
* Blober doesn't store your files on its servers

## External References

* [Windows File Permissions](https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/access-control)
* [macOS Privacy Controls](https://support.apple.com/guide/mac-help/control-access-to-files-and-folders-on-mac-mchld5a35146/mac)
* [Linux File Permissions](https://wiki.archlinux.org/title/File_permissions_and_attributes)