Skip to content

ad-on-is/resticity

Repository files navigation


Resticity
Resticity

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

screenshot

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
    • Backblazez
    • 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

# Run within Docker
# Add the paths that you want resticity to grant access to
$ docker run -d --name resticity -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
  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

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

# Arch Linux
paru -S resticity

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
  • CI/CD and versioning

adisdurakovic.com  ·  GitHub @ad-on-is