Skip to content

General

Describes the functions a BackupDev graphical client provides. A client is a frontend for the backup-dev daemon: it connects to a running daemon over its control socket and drives the engine, so backups and schedules keep running while the client is closed.

Profile

A profile describes a BackupDev configuration file and its state. A client manages a list of profiles and marks one as active — the configuration the daemon runs.

Local

  • A local profile is a configuration stored on disk with minimal state.
  • The client must provide an editor to modify the configuration content.
  • The editor validates the configuration before it is applied, equivalent to backup-dev check, and preserves comments.

Remote

  • A remote profile is a configuration with a URL as its update source, for centrally managed backup policy.
  • The client must implement automatic profile update on an interval, default 60 minutes, and HTTP Basic authorization.
  • The client should provide a viewer for the fetched content and a manual update action.

The client must support importing a remote profile through a URL scheme:

backup-dev://import-remote-profile?url=urlEncodedURL#urlEncodedName

Actions

The client should let the user create, duplicate, rename, delete, and export a profile, and switch the active profile. Switching the active profile reloads the daemon, equivalent to the reload control, which re-reads the configuration without dropping an in-progress backup.

Dashboard

A Dashboard group holds the two views that observe the running service: Overview and Activity.

Overview

Overview displays the service state — idle, starting, running, stopping, or failed — with the daemon version and uptime, provides start, stop, and reload controls, and a summary of configured schedules. It also lists profiles for quick switching, with the active one marked.

Activity

Activity displays live backup activity:

  • The current run: the source and destination in flight, the path being processed, entries completed, bytes read and written, and the throughput.
  • A count of warnings and errors for the run, such as vanished or skipped files.
  • A history of recent runs: the start time, entry and byte counts, duration, and result.

Schedules

When the configuration defines schedules, this section lists them with their next and last run times, and provides run-now and pause controls per schedule.

Sources and Destinations

A list of the configured inbounds and outbounds. For each destination it shows the last backup time, and provides a reachability check for remote destinations such as s3, sftp, smb, webdav, and remote endpoints.

Logs

The client subscribes to the daemon's log stream and displays it live, with level filtering and clearing.

Settings

A flat list of categories, each its own page — the control socket and the daemon version each appear in exactly one place, not duplicated across screens.

Connection

  • The control socket path, editable, with a reconnect action.
  • The current connection state and the last connection error, if any.

Service

The client manages the background daemon as a per-user service:

  • Install, uninstall, start, and stop the service.
  • Start the service at login and restart it if it exits.

Core

  • The daemon version and uptime.
  • The active configuration file's path, with a way to reveal it in the file manager.
  • The log level.
  • The working directory size and a button to clean it.

Notifications

The client should provide notifications on backup completion and failure.