Skip to content

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.