Resticity - a cross-platform frontend for restic

https://github.com/ad-on-is/resticity

Hey guys,

I’ve been building a frontend for restic the past couple of weeks, and it’s at the stage where the app is finally ready and usable. So I wanted to share it with the world. Oh, and it’s FOSS of course.

It’s intended to be used either as a cross-platform desktop app (built using wails) or to be run in a Docker container, for homelab uses, etc.

PRs and feature requests are more than welcome :-)

Right now, I could also use some help for distributing it across the different platforms, AUR, Flatpak, etc.

I hope you guys like it. Cheers!

trevor,

I’ve been trying to create an AUR package for this, but can’t figure out how to build more than just the server backend (based off of the Dockerfile). Is there a way to build it without wails? I can’t get that to work in the PKGBUILD.

ad_on_is,
@ad_on_is@lemmy.world avatar

I just made a PKGBUILD and commited it to the repo. Would you mind having a quick look at it and see if it’s good enough?

Right now, I’m looking through the docs of the AUR on how to publish it.

trevor,

Thank you for making a PKGBUILD for this!

I just tried it, but I have the same issue when I was attempting to build mine:


<span style="color:#323232;">...
</span><span style="color:#323232;">  -</span><span style="font-weight:bold;color:#a71d5d;">></span><span style="color:#323232;"> Downloading 1.0.0.tar.gz...
</span><span style="color:#323232;">  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
</span><span style="color:#323232;">                                 Dload  Upload   Total   Spent    Left  Speed
</span><span style="color:#323232;">  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
</span><span style="color:#323232;">  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--   100  331k    0  331k    0     0   408k      0 --:--:-- --:--:-- --:--:--  880k
</span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#183691;">=> </span><span style="color:#323232;">Validating source files with sha256sums...
</span><span style="color:#323232;">    1.0.0.tar.gz ... Passed
</span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#183691;">=> </span><span style="color:#323232;">Extracting sources...
</span><span style="color:#323232;">  -</span><span style="font-weight:bold;color:#a71d5d;">></span><span style="color:#323232;"> Extracting 1.0.0.tar.gz with bsdtar
</span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#183691;">=> </span><span style="color:#323232;">Starting prepare()...
</span><span style="color:#323232;">go: downloading github.com/wailsapp/wails v1.16.9
</span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#183691;">=> </span><span style="color:#323232;">Starting build()...
</span><span style="color:#323232;">/var/home/trevor/git/PKGBUILD: line 34: wails: command not found
</span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#183691;">=> </span><span style="color:#323232;">ERROR: A failure occurred in build()</span><span style="color:#62a35c;">.
</span><span style="color:#323232;">    Aborting...
</span>

I’m not familiar enough with wails to know how to build without it.

If you require it as a dependency, it would only work for Arch users with the AUR enabled, as it wails doesn’t seem to be in the main repositories.

ad_on_is,
@ad_on_is@lemmy.world avatar

wails is installed via go install, which I’ve included in the prepare script

trevor,

Ah. I see that you’re installing wails with go. I guess the problem is that $GOBIN may not be set for everyone, myself included.

ad_on_is,
@ad_on_is@lemmy.world avatar

Sorry, didn’t see this comment… Yes, it’s a $GOBIN issue… I’ve updated the PKGBUILD accordingly

ad_on_is,
@ad_on_is@lemmy.world avatar

Oh wait… sorry, I forgot about it, but env GOBIN and GOPATH need to be set properly… and then wails should be invoked with $GOBIN/wails build

trevor,

Regarding how to publish the package, there are a few GitHub Actions that make it easy, like this one.

ad_on_is,
@ad_on_is@lemmy.world avatar

thank you, will look into it

fredix,
@fredix@jlai.lu avatar

Hi @ad_on_is ! Thanks for resticity and your PKGBUILD. However, I have to modify it and replace “packaging/resticity.desktop” with “$startdir/resticity.png” and “packaging/resticity.desktop” with “$startdir/resticity.desktop”

Anyway, seems to works, I can push a backup, but when I go to repositories, resticity try to get snapshots (LOADING Snapshots) and failed with this error : “json: slice unexpected end of JSON input” Thanks for your help.

ad_on_is,
@ad_on_is@lemmy.world avatar

Let’s move this discussion over to GitHub, where I at least get the notifications for new messages.

github.com/ad-on-is/resticity/issues/3

eugenia,
@eugenia@lemmy.ml avatar

Very nice looking, but judging from the screenshot, the app window seems to be massive? It doesn’t fit on my Macbook Air, and I’m sure won’t fit on my various 1366x768 Linux laptops. Or maybe the app creates scrollbars automatically? Also, does it have a light theme, or is it only dark? (I have a lot of astigmatism, so dark themes aren’t readable to my eyes). Other than that, it looks great!

ad_on_is,
@ad_on_is@lemmy.world avatar

yeah, a light theme will be implemented later on.

morrowind,
@morrowind@lemmy.ml avatar

It looks very nice, but I’m not familiar with wails. Is it lightweight? I currently just use a pwsh script to manage restic, but would be nice to have a gui

ad_on_is,
@ad_on_is@lemmy.world avatar

Compared to electron it is lightweight. i.e. it doesn’t include full Chrome, but a webkit webview, which also has its caveats, but does the job just fine.

oh_gosh_its_osh,
@oh_gosh_its_osh@lemmy.ml avatar

It’s great to see more and more tools around restic.

DejaDup also recently added restic support.

drwankingstein,

First im hearing of restic, Haven’t looked too much into it but it seems like it could be an alternative to rclone for me in some aspects

timbuck2themoon,

Sometimes. Depends what you’re backing up to. In some cases it would work in tandem with rclone.

I really like its architecture. The efficiency is really nice when pushing to the cloud and not making so many transactions.

drwankingstein,

Interesting, ill have to look into it for sure then

tuhriel,

I also like that with the rest-server you can configure it with append-only, so even if someone wants to encrypt or delete the data they are not able to modify the existing backup

d3Xt3r,

This looks nice, good job!

On a related note, does anyone have any good reasons as to why I should be using Restic instead of Borg? (my Borg backups are all local btw - generally they’re snapshots of various projects I’m working on, so I don’t need any cloud features).

Buckshot,

I use restic but I switched from Borg because of the cloud features. Outside of that, there’s not a lot of differences really. If you’re happy with Borg keep with it.

trevor,

I like restic because everything seems to happen client-side, and the client pushes the encrypted backups to the server without having to install restic on the back end.

That said, I’ve never needed to restore my data with either backup solution, so I can’t speak to the validity of the backups.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • fightinggames
  • All magazines