Skip to content

Latest commit

 

History

History
61 lines (52 loc) · 1.35 KB

File metadata and controls

61 lines (52 loc) · 1.35 KB

Restic Controller

A controller for the restic backup program that manages restic repositories, configurable via a yaml file.

Features

  • Backupping
  • Integrity Checks
  • Retention
  • Offsite backups via Rsync
  • Auto-reloading of the configuration at runtime

Usage Example

docker-compose.yml

services:
  restic-controller:
    image: ghcr.io/syynek/restic-controller:latest
    volumes:
      - "./config.yml:/app/config.yml"
      - "./backup-data:/data:ro"
      - "./backups:/repositories"
      # Mount SSH keys and config to use Rsync
      - "/root/.ssh:/root/.ssh:ro"

Note

To use the restic controller with docker, you will need to bind mount any files you would like to back up into a folder within the docker container.

config.yml

log:
  level: info

repositories:
  - name: local
    url: /repositories/repository
    password: test
    auto_initialize: true
    backup:
      schedule: "0 * * * *"
      run_on_startup: true
      include_files:
        - /data
      exclude_files:
        - /data/example.txt
    integrity_check:
      schedule: "15 * * * *"
    retention:
      schedule: "30 * * * *"
      policy:
        keep_last: 1
    rsync:
      schedule: "45 * * * *"
      user: "user"
      host: "remote.example.com"
      target_folder: "backups"
      port: 22