Backrest is a backup solution that uses a restic backend and features a easy-to-use WebUI.
docs: https://garethgeorge.github.io/backrest/
repo: https://github.com/garethgeorge/backrest?tab=readme-ov-file
Install
- Copy link to latest release
backrest_Linux_x86_64.tar.gzfrom git repo. - Download release to server.
wget https://github.com/garethgeorge/backrest/releases/download/v1.10.1/backrest_Linux_x86_64.tar.gz
- Install Backrest.
mkdir backrest && tar -xzvf backrest_Linux_x86_64.tar.gz -C backrest
cd backrest && ./install.sh
- Edit Backrest systemd file to enable remote connections.
sudo systemctl edit backrest
# add these two lines after the gap in the first comment
[Service]
Environment="BACKREST_PORT=0.0.0.0:9898"
- Open Backrest
http://<local-server-ip>:9898. - Enter a unique instance id then click
Ok.
Setup Repository
- Add remote server to
.ssh/config
Host <remote-server-name>
HostName <remote-server-hostname>
User <remote-server-username>
Port 23
- port is not needed, defaults to 22
- Create new SSH key (if needed) and copy it to remote server.
ssh-keygen -t ed25519 -C "user@machine"
ssh-copy-id -i ~/.ssh/id_ed25519 <remote-server-name>
# for hetzner storage box use -s to specify sftp
ssh-copy-id -i ~/.ssh/id_ed25519 -s <remote-server-name>
- Open Backrest
http://<local-server-ip>:9898. - Select Add Repo.
- Enter repository name as remote server name.
- Enter repository url as sftp path on remote server.
sftp://<remote-server-name>:/<remote-repo-path>
#ex. sftp://hetzner:/proxmox-backup
- Click Generate for password. Do Not Loose, it is needed to decrypt data.
- Click Test Configuration then Submit.
Setup Plan
- Open Backrest
http://<local-server-ip>:9898. - Select Add Plan.
- Enter plan name, something like
<local-folder-name>-to-<remote-server-name. - Select appropriate repository.
- Select Add Path and enter path to local directory to be backed up. This could be a remote NFS or SMB share.
- Set backup schedule as Cron: UTC: Every Day at 12:00 and set retention policy as By Count: 30. Free to change as needed.
- Click Submit then Backup Now to run initial backup.
Restore Backup
- Select the plan and backup snapshot to restore from.
- Expand Snapshot Browser dropdown.
- Press Download (for new directory) or Restore to Path (for original directory) on the desired file or folder that needs to be restored.