BackupDev for macOS
A native SwiftUI client. It runs the engine as a per-user launchd service and drives it over the daemon control socket, so backups and schedules keep running while the client is closed.
Working in progress.
Requirements
- macOS 15+
Interface
- A menu bar item showing the service state, with quick start, stop, and reload actions and a shortcut to open the main window.
- A main window with a two-tier sidebar — a Dashboard group (Overview, Activity) and, below it, Schedules, Profiles, Logs, and Settings — as described in General. Settings is itself a drill-down list (Connection, Core, About), so the control socket and the daemon version each live on exactly one page.
Service
The client manages the daemon as a per-user launchd agent, equivalent to the
backup-dev service commands:
- Install and uninstall the service.
- Start the service at login and restart it if it exits.
- Start and stop the service on demand.
The service runs as the user, backs up the user's own files, and needs no root.
A relative path in an inbound or outbound resolves against the service's
working directory, which is the user's home directory. Use an absolute path
to avoid ambiguity.
App settings
- Start at Login
- Show in Menu Bar
- Keep in Background — the app keeps running when the last window closes
- Language
- Real-time throughput in the menu bar
Source code
Working in progress.