Backrest

Backrest is a self‑hosted backup management application designed to make Restic backups easy, automated, and centrally managed — without giving up the power and reliability of Restic underneath.

🧾 What Backrest Is

Backrest is a web‑based backup manager that sits on top of Restic and gives you:

🚀 Docker Installation Steps

  1. Update your system
    sudo apt update && sudo apt upgrade -y
  2. Install Docker
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
  3. Install Docker Compose
    sudo apt install docker-compose-plugin
  4. Add your user to the Docker group
    sudo usermod -aG docker $USER
  5. Enable Docker at boot
    sudo systemctl enable docker
  6. Reboot
    sudo reboot
  7. Test Docker
    docker run hello-world

📁 Setup Backrest

mkdir ~/docker
mkdir ~/docker/backrest

🧾 Docker Compose File

In /volume2/docker/backrest create docker-compose.yml

services:
  backrest:
    image: garethgeorge/backrest:latest
    container_name: backrest
    hostname: backrest
    ports:
      - "9898:9898"
    environment:
      - BACKREST_PORT=9898
      - BACKREST_DATA=/data
      - XDG_CACHE_HOME=/cache
    volumes:
      - ./config:/config
      - ./data:/data
      - ./cache:/cache
      - /mnt/backup_target:/backup         # the destination/target for your backups. Probably a NAS Share or a USB drive
      - /mnt/backup_target_1:/backup-1     # Another destination/target
      - /mnt/backup_target_2:/backup-2     # Another destination/target
      - /:/userdata                        # The source of your backups. I use "/" so that I have access to everything, then browse in the gui to select what I want to backup

▶️ Start Backrest

From within /volume2/docker/backrest run:

docker compose up -d

📜 View Logs

View logs for the Backrest server:

docker logs backrest

🌐 Access Web Interface

Open your browser and go to http://<YOUR_DEVICE_IP>:9898. Click on "Add Repo". Give it a name and the "Repository URI". In my example, it would be "/backup", "/backup-1", or "/backup-2". Give it a Password and click Submit. It will create some needed directories. Do NOT delete these or you'll have to recreate your repository.

Now, click on "Add Plan". Give it a "Name" and select the "Repository" you just created. Add the "Paths you want to back up and anything you want to exclude. Set the "Backup Schedule and "Retention Policy" and click Submit.

If you find my content useful, please consider supporting this page:

☕ Buy Me a Coffee