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

Status

[!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
- 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:
- Custom file location with the
--config path/to/config.json
flag
RESTICITY_SETTINGS_FILE
environment variable
$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