Backrest: a cross platform backup orchestrator and WebUI for restic

hello, another docker user here (no expert).

First, your docker host is really 192.168.188.106 ?
Then I see you changed the environment: paths to local paths. These cannot be found from inside the container, refer to the volumes section.
I kept them default, as displayed here:
https://hub.docker.com/r/garethgeorge/backrest

i.e.

environment:
  - BACKREST_DATA=/data
  - BACKREST_CONFIG=/config/config.json
  - XDG_CACHE_HOME=/cache
restart: unless-stopped
ports:
  - 9898:9898

Thank you that did the trick, how do you enable dark mode :stuck_out_tongue:

@Tyrian81 I guess “you” refers to the earlier posted screenshots?

Since I also prefer dark mode I run firefox with the Dark Reader plugin extension.

If browser supported, backrest will match your system color setting (e.g. dark or light mode)

Thanks! I’ve seen some similar feature requests on the GitHub issues, this is definitely something I’m targeting to support in the next release with better support for custom flag overrides at the repo and additionally plan level.

Hey, is there an option to run commands before/after backup? For example I need to dump my MySQL DB before backup, backup it + set of related files + delete it.

1 Like

Yes! Backrest supports hooks on various backup lifecycle events (including prior to starting the backup). You can add a shell command hook for this.

Nice, thanks! Trying it out and I have a small feature request: I need either a way to template backups or a way to duplicate-change repositories and plans.

This isn’t supported natively at the moment but can be done by editing the config and duplicating the plans you’d like. Feel free to file a feature request bug on the repo to track this.

Just to update this thread w/current and near term work plans. Backrest is already quite stable and I’m keeping a continual focus on test coverage and platform support (as it’s important that any backup orchestration is at least as reliable as restic :slight_smile: which sets a high bar) recent work has continued a push to drive down the long tail of reported issues and address UI bugs.

At the top of my plans going forward are

  • Support for running check operations from the repository. Initially this will be a manual task and in the future I may support scheduled execution.
  • Preflight hooks e.g. skipping backups on battery power OR when a script returns a non-zero exit code (e.g. skip trying to backup if a script detects that a target volume isn’t mounted).
  • Multi-host management

hi garethgeorge,

  • would like to know whether you will be able to make an unraid plugin or docker templates?
  • regarding the docker image, since now it comes with support for rclone, would like to know how to link it to the rclone config that is already on my systems? maybe aadd environmental setting?
  • i also wonder if we manually setup new rclone config inside the docker, will it be persistent across docker update?

Hey,

an unraid plugin isn’t planned right now but docker-compose templates are available in the README and docker is well supported.

rclone usage is a bit of an advanced feature (in that it can’t be done entirely through the Backrest UI) but is well supported. You’ll need to mount your rclone config into your container somewhere that Backrest will find it. By default this is /root/.config/rclone/rclone.conf. Feel free to start a discussion on the repo if you have detailed questions about getting that working.

Note that the docker container’s filesystem is ephemeral so anything not explicitly inside a volume will not survive restarts.

sorry i should have clarified i refer to unraid docker template that can just install from the apps store.
for docker wise, actually i have already using it on my proxmox and is good.

for the rclone inside the docker, no big deal, i can manually edit & update the .conf. was just thinking of linking the config file to host .config will be a quality of life feature.

Hi, I’m a beginner user.

I downloaded the latest version (v0.17.2) of Backrest for Windows (backrest_windows_x86_64.zip), and I have placed the contents of that folder in C:\Program Files\Backrest\backrest.exe. After that, I run backrest.exe as administrator and a console shows up but it gets stuck scheduling a task (see below). However, I can access the webui from http://localhost:9898.

2024-05-12T14:39:45.031+0200    INFO    installing restic C:\Program Files/backrest/restic-0.16.4.exe to 0.16.4...
2024-05-12T14:39:45.948+0200    INFO    decompressing zip archive (size=9167818)...
2024-05-12T14:39:47.543+0200    INFO    installed restic 0.16.4
2024-05-12T14:39:47.553+0200    DEBUG   loading auth secret from file
2024-05-12T14:39:47.563+0200    INFO    scheduling default tasks, waiting for task queue reset.
2024-05-12T14:39:47.563+0200    INFO    reset task queue, scheduling new task set.
2024-05-12T14:39:47.563+0200    INFO    scheduling task {"task": "collect garbage", "runAt": "2024-05-12T14:39:52+02:00"}
2024-05-12T14:39:47.564+0200    INFO    starting orchestrator loop
2024-05-12T14:39:47.564+0200    INFO    starting web server :9898
2024-05-12T14:39:52.566+0200    INFO    running task    {"task": "collect garbage"}
2024-05-12T14:39:52.575+0200    INFO    collecting garbage      {"forgotten_snapshots": 0, "operations_removed": 0}
2024-05-12T14:39:52.575+0200    INFO    task finished   {"task": "collect garbage", "duration": "8.9513ms"}
2024-05-12T14:39:52.575+0200    INFO    scheduling task {"task": "collect garbage", "runAt": "2024-05-13T14:39:52+02:00"}