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_PUIDchange — no manualchownrequired. - State tracked in
/var/bbs/config/.ownershipso 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 GBnot7GB, 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/storageincludes 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.
MySQLlabel →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 -dBare metal: Settings → Updates → Update.
❤️ Sponsor this project if you find it useful.