Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Rustic Version #75

Open
durcom2 opened this issue Sep 22, 2023 · 9 comments
Open

Make Rustic Version #75

durcom2 opened this issue Sep 22, 2023 · 9 comments

Comments

@durcom2
Copy link

durcom2 commented Sep 22, 2023

Request for a version of Restic-browser that works with Rustic.

Rustic has several features (restore --delete for example) that restic should have but doesn't for some reason.
Rustic also does not have a GUI restore just like Restic so it would be nice if there could be a "Rustic-Browser".

@emuell
Copy link
Owner

emuell commented Oct 10, 2023

Using rustic instead of restic should be possible to test now via:
#77

I'm actually also thinking about replacing the go based wails backend with rust tauri , as I'm very uncomfortable with the go language. It's great, but just not my thing. It always takes me ages to do anything in go, whereas I'm pretty fluid in rust.

Another advantage would be to use Rustic as a library within Tauri. Rustic does not allow you to use it as a library: restic/restic#1089

Rustic, on the other hand, does: https://github.com/rustic-rs/rustic_core

This would avoid all that messy PATH stuff to locate the rustic binary, and also allow the browser to interact with the repository more efficiently.

@durcom2
Copy link
Author

durcom2 commented Oct 10, 2023

Great. I'll give it a try. Now that you have added support for one commandline argument, shouldn't be too hard to add more so we don't have to mess with environment variables??? aka #34 etc... Most important ones being repository location and password file location

@durcom2
Copy link
Author

durcom2 commented Oct 10, 2023

I thought that this would give me what I was looking for, but on second thought I don't think so. Most important feature of rustic to me is the rustic restore with --delete option. I think Restic-Browser would need to somehow support that for restic-browser restore function There are also a few additional options of rustic that are NOT available with restic. Actually looks like a bit more work to do this than I thought...Might be easier to have a completely different version of restic-browser for rustic.
See: rustic-rs/rustic#899 for rustic developer's comments on using the rustic_core library
Hope you can do this!

@emuell
Copy link
Owner

emuell commented Oct 10, 2023

Just had a quick try with rustic. Rustic uses the env variable prefix RUSTIC_ instead of RESTIC_. Also it returns a different snapshot list JSON via rustic ls --json than restic.

So rustic is not supported, is not a quick replacement for now...

@durcom2
Copy link
Author

durcom2 commented Oct 10, 2023

Hope you can do this sometime in the future.

@aawsome
Copy link

aawsome commented Oct 22, 2023

I'm actually also thinking about replacing the go based wails backend with rust tauri , as I'm very uncomfortable with the go language. It's great, but just not my thing. It always takes me ages to do anything in go, whereas I'm pretty fluid in rust.
Rustic, on the other hand, does: https://github.com/rustic-rs/rustic_core

If you plan to build a tauri app using rustic_core, please let me know! And please don't hesitate to ask any questions you have regarding rustic_core or if you need a feature which is not yet implemented!

@emuell
Copy link
Owner

emuell commented Oct 28, 2023

@aawsomec There is no support for s3/b2 in rustic ATM, only rclone, is that correct?

That would unfortunately be quite a functional step backwards for the rustic browser GUI, so I'll wait until most of the backends are implemented in rustic.

@emuell
Copy link
Owner

emuell commented Oct 29, 2023

On a second though, it might not be too hard to add a new "backend" switch with [external restic binary, rustic] options to the GUI, so people can choose if they want to use the restic binary or the rustic lib as their backend.

Each backend would then have a different set of supported location types (local, rclone, s3...).

I'll give this a try when I have some free time, but can't promise anything.

@aawsome
Copy link

aawsome commented Oct 30, 2023

I am pretty sure that once rustic natively supports S3 and B2, the repository syntax will be analog to the restic one!
However, it could take some time until the support is finished. As rclone works there is an easy workaround, so it is very low priority for me and very much depends on other users' contributions...

But I would appreciate to see a GUI using rustic_core - and except the supported repositories, everything else should be possilbe with rustic_core (plus some extra features like support for cold storages, lockfree operations, ... - but I can understand if you won't support them in the first run ;-) )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants