Managing Terabytes: FileBrowser and Rclone for Home Storage

Managing Terabytes of Home Storage

Data lives on NAS devices. Multiple locations. Different purposes.

Managing files across terabytes using only SSH is efficient but not always convenient. Sometimes I just need to drag-and-drop a PDF or preview an image from my phone.

The Stack

FileBrowser - Web-based file manager for visual access Rclone - Command-line sync tool for automated backups and cloud integration

Together, they create a self-hosted “Dropbox-like” experience.

FileBrowser Setup

FileBrowser is a single Go binary. Deploy it via Docker:

version: '3'
services:
  filebrowser:
    image: filebrowser/filebrowser
    container_name: filebrowser
    volumes:
      - /mnt/storage:/srv
      - ./filebrowser.db:/database.db
    ports:
      - "8080:80"
    environment:
      - PUID=1000
      - PGID=1000

Point /mnt/storage at your NAS mount. The web interface gives you:

  • Directory browsing
  • File preview (images, PDFs, text files)
  • Upload/download
  • Basic user management
  • Sharing links

Access it through a Cloudflare Tunnel for secure remote access without port forwarding.

Rclone for Sync

While FileBrowser handles human interaction, Rclone handles machine tasks: syncing between storage locations, cloud backups, encrypted archives.

Setting Up Remotes

rclone config

Define remotes for each storage location:

[local-nas]
type = sftp
host = 192.168.1.10
user = admin

[remote-nas]
type = sftp
host = 192.168.20.10
user = admin

[cloud-encrypted]
type = crypt
remote = gdrive:/backup
password = *** encrypted ***

The crypt remote is an encrypted overlay on Google Drive. Data is encrypted before upload, decrypted on download. Google sees encrypted blobs.

Sync Commands

Mirror local to remote:

rclone sync /mnt/storage/documents remote-nas:/documents

Encrypted cloud backup:

rclone sync /mnt/storage/critical cloud-encrypted:/critical --fast-list

Move old files to archive:

rclone move /mnt/storage/downloads remote-nas:/archive/downloads \
  --min-age 30d

Automated Sync

Cron job for nightly sync:

# /etc/cron.d/rclone-sync
0 2 * * * root /usr/bin/rclone sync /mnt/storage/documents cloud-encrypted:/documents --log-file /var/log/rclone.log

Runs at 2 AM. Logs to file for debugging.

The Architecture

┌─────────────────────────────────────────────────────┐
│                    FileBrowser                       │
│                    (Web UI)                          │
└───────────────────────┬─────────────────────────────┘


┌─────────────────────────────────────────────────────┐
│                  Local NAS                           │
│                 /mnt/storage                         │
└───────────┬─────────────────────────┬───────────────┘
            │                         │
    ┌───────▼───────┐         ┌───────▼───────┐
    │  Remote NAS   │         │ Cloud (Encrypted) │
    │  (rclone)     │         │  (rclone crypt)   │
    └───────────────┘         └───────────────────┘

Three copies of critical data:

  1. Local NAS (primary)
  2. Remote NAS (off-site)
  3. Cloud (encrypted, disaster recovery)

Security

FileBrowser:

  • Behind a Cloudflare Tunnel (Zero Trust)
  • Requires SSO authentication
  • Internal user auth as a second layer

Rclone:

  • SSH keys for NAS-to-NAS sync (no passwords)
  • Encryption for cloud storage
  • Bandwidth limiting to avoid saturating connections
# Limit to 10 Mbps for cloud uploads
rclone sync /data cloud-encrypted:/data --bwlimit 10M

Use Cases

TaskTool
Browse files from phoneFileBrowser
Share a file with someoneFileBrowser share link
Sync documents to off-site backupRclone sync (cron)
Encrypt and upload to cloudRclone crypt
Move old downloads to archiveRclone move —min-age

Why Not Just Cloud Storage?

  • Cost - Terabytes in the cloud gets expensive
  • Speed - Local NAS is gigabit; cloud is limited by upload speed
  • Control - My data, my drives, my encryption keys
  • Privacy - Nothing leaves the network unless I explicitly sync it

Cloud storage is for backup and disaster recovery. The NAS is the source of truth.


FileBrowser for humans. Rclone for machines. Both for terabytes.