github marcpope/borgbackupserver v2.27.0

latest release: v2.27.1
7 hours ago

Stable release of the v2.27.0 series. :latest is now updated — docker compose pull / bbs-update will upgrade.

We are relasing this for progress, in no way complete. Just wanted to get a bunch of these changes out there while we can. More to come this weekend.

🎉 New dashboard

Fully redesigned homepage addressing #146, #98, #104, #116, and #128.

  • Hero tiles — Clients, Running, Recovery Points (replaces the Clickhouse-rows emphasis), Errors. Colored tinted backgrounds for quick visual parsing.
  • Jobs (24h) chart + Backup Summary (original data, on-disk footprint, dedup savings %, last backup time) + Server Health (CPU/memory/partition horizontal bars).
  • Storage Locations — every configured local location AND every remote SSH host as its own card with per-location disk %, used/free, repo count, and on-disk size. Auto-sizes to a single card at 50% width or a grid of N columns matching your configured locations.
  • Recently Completed table with a filter dropdown — checkboxes for Backup / Restore / Prune / Compact / S3 Sync / Other, saved in localStorage, filters via AJAX.
  • Server Health auto-refreshes every 15 seconds (CPU / memory / partitions via a lightweight endpoint).
  • File Catalog (ClickHouse) and MariaDB panels demoted to compact cards at the bottom. ClickHouse shows Top Repositories list + donut; MariaDB shows a 3×2 stat grid.
  • Old dashboard preserved at /dashboard-legacy.

📅 Schedules page (#145)

New Schedules item in the sidebar with:

  • Hour-of-day histogram (1h buckets) stacked per client, segments hoverable/clickable.
  • Day-view timeline with half-hour labels, median-duration block heights from backup history.
  • Day pills (Mon–Sun) that swap both views at once.
  • Click a block or histogram segment → context menu: Change Time / Edit Plan / Disable.
  • Inline Change Time modal with add/remove time rows and server-side validation.
  • Edit Plan deep-links into the client page with the edit panel pre-expanded.

🐳 Docker bind-mount automation (#143, #121)

  • Automatic UID/GID migration when PUID/PGID/MYSQL_PUID/CH_PUID change — no manual chown required.
  • State tracked in /var/bbs/config/.ownership so migrations only run when values actually change.
  • Preflight guards reject PUID=0, collisions with other services, and collisions with existing SSH-client UIDs.
  • Detailed timestamped migration logs with file counts and elapsed time.
  • Validated on Synology btrfs.
  • Thanks @addvanced for the original PR.

✨ Other improvements

  • #151 Non-breaking space between numbers and units throughout — 7 GB not 7GB, no wrapping on narrow screens.
  • #153 Success events no longer clutter the in-app notification bell. Email/push settings unchanged. Opt back in at Settings → Notifications.
  • #155 Bare-metal installer now installs cron (missing on ubuntu-minimal) and fixes prompt/output ordering issues.
  • #157 /api/v1/storage includes disk capacity and usage metrics per location.
  • #142 Daily report email subject prefixed with [BBS] for consistency.
  • Page title in the top navbar bar with per-page icons; version pill above sidebar Logout.
  • MySQL label → MariaDB; File Catalog shows (ClickHouse).
  • Schedules page edge-label clipping, timezone honoring, subdued navy gradient card headers.

📦 Pull

Docker:

docker compose pull
docker compose up -d

Bare metal: Settings → Updates → Update.


❤️ Sponsor this project if you find it useful.

Don't miss a new borgbackupserver release

NewReleases is sending notifications on new releases.