ad-on-is / resticity

A beautiful cross-platform UI for restic backup.
GNU General Public License v3.0
64 stars 2 forks source link
backup docker linux macos restic windows


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

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

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


adisdurakovic.com  ·  GitHub @ad-on-is