github marcpope/borgbackupserver v2.60.0
v2.60.0 — Live Filesystem Browser

one hour ago

New: Live Filesystem Browser for Backup Plans

Building a backup plan no longer means typing directory paths from memory and praying you spelled /var/lib/mysql right. Every Backup Directories field — both on the create-plan form and on every edit-plan card — now has a Browse... button that pops a live, interactive tree view of the client's filesystem.

Pick directories from the tree, shuffle them between the tree and the selected list with the » / « buttons, click Use Selected, and the textarea is filled in for you.

How it works

  • The BBS server queues a list_dir task on the client. The agent walks the requested path with os.scandir, bounded depth and entry count, and returns a JSON tree.
  • The first click pulls 3 levels at once, so most navigation is already in your browser by the time you click again.
  • Hidden files and pseudo-filesystems (/proc, /sys, /dev, /run, /snap, /tmp) are skipped by default — toggles in the modal let you reveal them.
  • The Browse button only appears for online clients.

Snappy by design

  • Burst polling on the agent. The moment the agent picks up a list_dir task it drops to a 2-second poll interval for the next 60 seconds. While you're actively clicking around, the agent stays in fast-response mode. Walk away and it quietly returns to its normal interval — no extra agent load when nobody's browsing.
  • Persistent result cache. Each fetched subtree is cached for 15 minutes on the server. Close the modal and re-open it within that window and the tree appears instantly with no agent call. Cache is keyed per (agent, path, depth, hidden, show-all) so toggling options correctly re-fetches.
  • File-based cache backend. The BBS Cache layer now writes to /var/bbs/cache/app as a fallback when memcached isn't installed, so caching actually works on every install instead of silently no-op-ing.

Smaller things that landed alongside

  • Fixed a long-standing bootstrap is not defined race on the schedules tab — bootstrap.bundle.js now loads from <head> so view inline scripts have it available immediately.
  • "Add Backup Plan" no longer blanks the schedules tab when an edit panel was open underneath.
  • <input type="time"> on the weekly/monthly edit form stops warning when the plan has multiple comma-separated times.
  • Admin API picked up users CRUD, server log read, schedules overview, and S3 credential endpoints (any admin token, no platform requirement).

Don't miss a new borgbackupserver release

NewReleases is sending notifications on new releases.