Resticity Save

A beautiful cross-platform UI for restic backup.

Project README


Resticity
Resticity

A beautiful cross-platform UI for restic, built with Wails.

screenshot

Status

release aur container flatpak Version GitHub stars GitHub watchers GitHub forks

[!CAUTION]
I'm still working on the Windows and macOS version. They're not ready yet.

Key Features

  • Easy to use
  • Light/Dark mode
  • Cross platform
    • Linux
    • Windows
    • MacOS
  • Docker image to run on self-hosted servers
  • Scheduled backups
  • Supports local and remote repositories
    • Local folder or mounted network drive
    • AWS
    • Backblaze
    • Azure
    • Google
  • System tray support
  • Desktop Notifications
    • when a schedule starts
    • when a schedule finishes sucessfully or with errors
  • Hooks
    • when a schedule starts
    • when a schedule finishes sucessfully or with errors

How To Use

Desktop

# Run in GUI mode
$ resticity

# Run in background mode (useful for autostart)
$ resticity --background

# Run with custom configuration path
$ resticity --config /path/to/config.json

Docker

[!NOTE]
Make sure to set the hostname for the container since it gets changed after each restart.

# Run within Docker
# Add the paths that you want resticity to grant access to
$ docker run -d --name resticity -h myHostnameChangeMe -p 11278:11278 -v /path/to/config.json:/config.json -v /mnt:/mnt -v /home:/home ghcr.io/ad-on-is/resticity

Docker compose

version: "3"
services:
  reseticity:
  image: ghcr.io/ad-on-is/resticity
  container_name: resticity
  hostname: myHostnameChangeMe
  ports:
    - 11278:11278
  volumes:
    - /mnt:/mnt # Add the paths that you want resticity to grant access to
    - /home:/home
    - /path/to/config.json:/config.json # changeMe

Configuration

Resticity looks for a configuration file in the following order:

  1. Custom file location with the --config path/to/config.json flag
  2. RESTICITY_SETTINGS_FILE environment variable
  3. $XDG_CONFIG_HOME/resticity/config.json

Troubleshooting

Set RESTICITY_LOG_LEVEL=debug as environment variable for detailed debug messages (and log files).

[!WARNING]
This produces larger log files, so it is advised not to run it in production.

Installation

Linux

# Arch Linux
paru -S resticity

Windows

  • install restic and rclone on your system
  • Download the Resticity binary for Windows from the latest release

Build yourself

# Clone this repo
$ git clone https://github.com/ad-on-is/resticity

# Install wails
$ go install github.com/wailsapp/wails/v2/cmd/wails@latest

# cd into resticity
$ cd resticity

# Run as dev
$ ./build.sh dev

# Build desktop
$ ./build.sh desktop
# run
$ ./build/bin/resticity

TODOs

  • Packaging for different platforms

adisdurakovic.com  ·  GitHub @ad-on-is

Open Source Agenda is not affiliated with "Resticity" Project. README Source: ad-on-is/resticity
Stars
55
Open Issues
1
Last Commit
4 weeks ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating