https://github.com/ad-on-is/resticity
A beautiful cross-platform UI for restic backup.
https://github.com/ad-on-is/resticity
backup docker linux macos restic windows
Last synced: 2 months ago
JSON representation
A beautiful cross-platform UI for restic backup.
- Host: GitHub
- URL: https://github.com/ad-on-is/resticity
- Owner: ad-on-is
- License: gpl-3.0
- Created: 2024-02-12T15:07:32.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-05T09:08:33.000Z (almost 2 years ago)
- Last Synced: 2025-10-13T12:50:38.266Z (6 months ago)
- Topics: backup, docker, linux, macos, restic, windows
- Language: Vue
- Homepage:
- Size: 17.2 MB
- Stars: 78
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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
- 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
```bash
# 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.
```bash
# 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
```yaml
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
```bash
# Arch Linux
paru -S resticity
```
### Windows
- install [restic](https://restic.readthedocs.io/en/latest/020_installation.html#windows) and [rclone](https://rclone.org/downloads/) on your system
- Download the Resticity binary for Windows from the latest [release](https://github.com/ad-on-is/resticity/releases)
## Build yourself
```bash
# 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](https://adisdurakovic.com) ·
> GitHub [@ad-on-is](https://github.com/ad-on-is)