Anyone working on a user-friendly frontend to restic?


#1

Now that CrashPlan is taking away the free plan it would be great if restic could be promoted as a nice replacement. But right now I think it is too hard for normal people to use.

What I think would be nice would be a server that you could run on a machine that has a web interface to control backups. You can select which directories are to be backed up and setup exceptions for files to be ignored. Then other instances of these servers could be selected as destinations for the backups. Ideally, a p2p arraignment where you can get the identity of this server and then email it to a friend who would add to their server and then they would find each other. Very similar to how Syncthing works.

Backups would have settings for frequency and snapshot pruning which would happen automatically and have reasonable defaults. The server would also occasionally force a full rescan of the client and scrubbing of saved data on the server to detect data loss. Again with well thought out defaults.

This would allow a single download for MacOS and Windows that can be installed and give the user a reasonable GUI to change settings. And would greatly simplify the process of sending backups between machines. (Linux too, but linux is easy)

I keep pondering building something like this (probably as an excuse to learn Rust). Lately, I have been thinking restic gets too many things right to reimplement the backup part and I should build something on top of that.


Restic REST API for client
#2

Glad you brought it up. I’ve been thinking about starting a thread asking people what they’d want/need in a GUI.

To answer your question, the only thing I know of is someone who started a GUI built in Qt, but due to time constraints it never made it into the public, and it’s too little and unfinished to be shared even though he apparently had it usable for his own backups (I already asked).

To whoever is planning on building a desktop GUI, please do it in Qt so it’s cross-platform in a good way.


#3

I would go for a platform independent GUI :slight_smile:


#4

I would suggest at least considering a web UI as well, before settling on Qt. Running the program can open a browser tab which makes a local connection to restic to control it. Giving the application a Desktop or Start Menu icon isn’t terribly hard either, just bundle some packaging steps into the deploy process.

Web UIs can be a nice, familiar way to write a cross-platform GUI (I’ve done it before, works pretty well, although I have yet to test it on Linux.)