Web UI for Restic


#1

Hi,

Before I start with the idea itself, I’d like to set some context around it, and also thank the restic contributors!

As many others who have been let down by the CrashPlan closure I have been evaluating replacement tech for some time and after a few different tests I have settled on Restic. The main contender for me was Duplicati, but one big let down with Duplicati was the backup speed to B2 as it didn’t support multiple upload connections, and I had about a terabyte of data to upload… According to the developer it would have been a lot of work to implement the feature. Coming from CrashPlan, Duplicati was offering a similar feature set as you can setup multiple backup configurations from an easy-to-use UI, and no need to write your own cron jobs.

My use case is a linux workstation with lots of photos to backup as well as development files and other documents. I am also using restique (https://github.com/maxkueng/restique) to save out my configurations in a single file to help with running my backups from a single command line without any env vars to set for the various backups. I do have a few android phones that I’d like to add to the restic ecosystem and was happy to see restic work with termux.

I think restic would benefit from having a way to register backup configurations including schedules, and expose this functionality via a simple web interface such as the duplicati one (https://www.duplicati.com/screenshots).

I do understand that the current implementation stays well away from storing this kind of things, and I’m guessing that the main reason is security, having passwords stored in text files in one honey-pot location can be scary. I would still recommend allowing this feature to exist, the way restique wraps restic can only be stretched so far before it becomes a performance problem, and even worse security problem. As long as the features are opt-in I don’t think this would be an issue.

I have investigated the implementation details of having a web server and a long running daemon running as part of restic and it all seems fairly straightforward, the whole html structure being stored within the restic executable using rice.

The implementation would have to be staged though, first the configuration support and the long-running scheduler deamon would have to be implemented, then the UI, and it would be a non-negligeable amount of work. I would be happy to try to contribute on my little spare time to such an effort.

Cheers,

Aloys


#2

I’m working on one… stay tuned!


#3

That’s interesting news! Would you be able to share some technical details on your approach?
I’d be happy to help, contributing or testing, if you’re interested.


#4

There’s not much I can share yet, but a few insights:

  • It’s completely cross-platform; works on Windows, macOS, Linux, BSD, etc.
  • The UI is web-based, but doesn’t use Electron, so it’s lightweight and more secure.
  • It will be usable by non-technical people; in fact, my primary motivation for doing this is for my mom and the rest of my family to have a good backup solution they could set up on their own.

What I can tease that it has some really neat features that I haven’t seen in any other backup service. It should be very appealing to basic and power users alike.

My coworker is helping to build the UI, which is based on Angular. Together with the backend I’ve built, we’ve got all the major components done already, and are getting it ready for invite-only, private beta testing. We’re almost there! I’ll definitely post in these forums when we have something to show.


#5

I started working on one as well. It would be based on a basic api written in go which keeps your repository info in a local sqlite db. May be not as secure as someone requires but more convenient for sure. You can git clone http://gitlab.simbookee.com/andi/restic-gui.git and compile on your computer to see the current state. Any recommendations are welcome.


#6

@matt This sounds awesome! Is there any ETA you are able to share?


#7

I don’t have an exact ETA but we hope to launch this summer! I’ll reach out on these forums when we’re ready to invite some testers, if Alexander is OK with that.

Our goal is to get some people testing it within the month… approximately. :slight_smile:


#8

I am, provided the announcement includes all the terms and conditions to use it :slight_smile:


#9

Sure will, thanks! We’ll include the restic license, give attribution, and even document how to use restic to restore from repositories directly without using our software at all.

Edit, to clarify what was originally requested: we’ll be offering our software under a different license from restic so that we can sustain its development for non-technical users and make the experience silky smooth. Still a labor of love, but with actual costs for us beyond just our time.


#10

I decided to set up a simple mailing list for people who would like more details, instead of spamming the forums until we launch: https://relicabackup.com

You can sign up there, and subscribers will get more information as we have new things to report about our progress! And I’d love to get your feedback about what your needs are and what kinds of features you want, so feel free to make it a two-way exchange.


#11

Will I be able to use Relica on top of Restic, and so just use your frontend? Or is it a backend + frontend solution?


#12

It’s a complete SaaS solution that uses restic as its base (that’s my current understanding).
I bet there are modifications to restic in order make relica work the way they want it to.


#13

It’s a complete solution for consumers, developers, and businesses (almost for business – we still need to gather more information about needs, like user management, etc). It’s something that myself (a power user) and my mother and sisters (non-technical users) can use alike.

Relica will ship with restic so as to ensure compatibility between restic’s inputs/outputs and how Relica is programmed to automate them.

Actually, all our modifications have been submitted as PRs to restic’s master branch: https://github.com/restic/restic/pulls?utf8=✓&q=is%3Apr+author%3Amholt – so everyone is benefitting equally, and we only use stock restic binaries.

Restic’s awesome, and we think you’ll love Relica too. Restic is finally making possible the backup software I’ve been searching for for years.


#14

@matt Any news about ?

I also developed a web interface using Django. I’m using it, it’s pretty basic but i can:

  • List snapshots and hosts with search capabilities and host status (backing up regulary or not)
  • Have details on each snapshot/host about backed up folders with (eventually) exclusions
  • Multiple repositories, for some of them with raw data usage
  • Multiple policies based on TAG or HOST
  • Background tasks using celery to perform check, run policy and pruning repository as defined
  • Mounting capabilities with browsing repository using h5ai

Anyway. I’m not a web developer so this is only a personal beta software :slight_smile: Probably yours will be a lot better.


#15

Yep – we have a waiting list at https://relicabackup.com if you want to get an invite when we open up the betas, which we hope to do before the end of the month – definitely before CrashPlan Home discontinues. We’re just fine-tuning the installation process for Mac, Windows, and Linux.

Nice!

It’s a lot of work, isn’t it. :smile:


#16

Nice, I just signed up to give it a try eventually :slight_smile:


#17

I’m not contrary to develop “paid” solutions over free software, but I asked about your solution thinking at something free like relic is, instead on the page I saw lot of marketing, sale, trial, 30 days free… etc.

I didn’t expect it. I’m not in, thanks anyway :slight_smile:


#18

Well, Relica is definitely worth paying for. :slight_smile:


#19

From what I have seen in screenshots Relica indeed looks very polished and super cool.

However, the price (I guess it’s $60+/year) might not be for everybody, esp. for users who have little data to backup (1-2 or maybe 3 digit GBs) that doesn’t change often - who might just want an ultra cheap cold storage. But for power users it might be great. I too want to test multiple backup destinations feature (esp. backup to friends!! :+1:) hence signed up for beta/trial.

Does Relica also support different “backup sets” with different frequency and retention options?

Good luck!


#20

Thanks for your feedback!

The price is roughly on-par with comparable backup services. In fact, our offering is targeted for people who are not power users, although we have features that power users will find enticing (command line interface, backup hooks, etc). Most of my family are not power users and do not know how to set up and manage cold cloud storage. We want to abstract that away. :slight_smile:

Yes – multiple backup sets can be configured, each with their own schedules. And each destination can have retention periods specified. We don’t yet have a way to configure a retention for a specific backup configuration (as multiple backup sets can go to the same destination), but that’s definitely something we can do. I’ll make a note of it.