= Micromata BorgBackup-Butler
|
Micromata GmbH, Kai Reinhard
|
:toc:
|
:toclevels: 4
|
|
Copyright (C) 2018-2021
|
|
ifdef::env-github,env-browser[:outfilesuffix: .adoc]
|
|
== Why?
|
|
* Accessing your borg backups in an very convenient and fast way.
|
* Caches remote repo archive information for fast browsing.
|
* Differ functionality to see the differences of backups (files, directories etc.)
|
|
== At first glance
|
|
After starting BorgButler without any further settings, you can play with faked demo repositories.
|
|
[#img-configuration]
|
You may leave the default values as they are. BorgButler downloads the current or configured version of the borg binary for
|
your platform automatically.
|
[link=doc/images/screen-configuration.png]
|
image::doc/images/screen-configuration.png[Configuration of BorgButler,800]
|
|
[#img-jobmonitor]
|
The job monitor gives an overview of all (long running) processes. You're also able to cancel running jobs.
|
[link=doc/images/screen-jobmonitor.png]
|
image::doc/images/screen-jobmonitor.png[Job monitor,800]
|
|
[#img-repositories]
|
Borgbutler may manage multiple repositories.
|
[link=doc/images/screen-repositories.png]
|
image::doc/images/screen-repositories.png[Multiple repositories,800]
|
|
[#img-repository-config]
|
Configuration of a repo used by BorgButler.
|
[link=doc/images/screen-repository-config.png]
|
image::doc/images/screen-repository-config.png[Configuration of a repo,800]
|
|
[#img-repository-archives]
|
Overview of available archives in your BorgBackup repo.
|
[link=doc/images/screen-repository-archives.png]
|
image::doc/images/screen-repository-archives.png[Archives of a repo,800]
|
|
[#img-archive-filelist]
|
The content of an archive (browseable as tree, searchable). You are also able to compare to archives and see the difference
|
with a view clicks. You may download single files as well as whole directories.
|
[link=doc/images/screen-archive-filelist.png]
|
image::doc/images/screen-archive-filelist.png[Repo info,800]
|
|
[#img-archive-differences]
|
You may compare two archives within some clicks and see the differences (files, file properties such as size, dates or change modes).
|
[link=doc/images/screen-archive-differences.png]
|
image::doc/images/screen-archive-differences.png[Repo info,800]
|
|
== Quick start
|
=== Docker
|
|
BorgButler working directory `$HOME/BorgButler` is assumed, but you may define any other.
|
|
1. Create your local BorgButler directory: `mkdir $HOME/BorgButler` (for config, caches, backups and restoring of backuped files and directories)
|
2. `docker run -v $HOME/BorgButler:/BorgButler -v $HOME/.ssh:/home/borgbutler/.ssh -p 127.0.0.1:9042:9042 --name borgbuttler kreinhard/borgbutler` (exporting of `.ssh` is useful for ssh remotes, otherwise skip this setting.)
|
3. Stopping: simly click `CTRL-C`.
|
4. Restart: `docker start`
|
5. Stop: `docker stop`
|
|
Enjoy BorgButler by opening your browser: http://localhost:9042
|
|
You may refer the log file through the web browser or in `$HOME/BorgButler/borgbutler.log`.
|
|
|
=== Starting from sources
|
You'll need OpenJDK 9+ as well as gradle.
|
|
1. `gradle clean distZip`
|
2. Unzip `borgbutler-server/build/distributions/borgbutler-server-<version>.zip`
|
3. Run `bin/borgbutler-server` or `bin/borgbutler-server.bat`.
|
|
Enjoy BorgButler by opening your browser: http://localhost:9042
|
|
== Further information
|
|
=== Configuration
|
=== Example backup file
|
You can configure it through the webapp or directly (`borgbutler.config`):
|
|
[source,yaml]
|
----
|
borgCommand: "/Users/kai/.borgbutler/bin/borg-macosx64-1.1.8"
|
maxArchiveContentCacheCapacityMb: 200
|
repoConfigs:
|
- displayName: "ACME - Backup server 1"
|
repo: "ssh://backupserver.acme.com:23/./backups/backup-server1"
|
rsh: "ssh -i /BorgButler/.ssh/acme_rsa"
|
passwordCommand: "security find-generic-password -a $USER -s borg-passphrase -w"
|
id: "8af6c559b07d598af6c559b07d598af6c559b07d598af6c559b07d598af6c559"
|
- displayName: "ACME - Backup server 2"
|
repo: "ssh://backupserver.acme.com:23/./backups/backup-server2"
|
rsh: "ssh -i /BorgButler/.ssh/acme_rsa"
|
passwordCommand: "security find-generic-password -a $USER -s borg-passphrase -w"
|
id: "ae00099254dc44ae00099254dc44ae00099254dc44ae00099254dc44ae000992"
|
- displayName: "Debian - Backup server 1"
|
repo: "ssh://kai@debian.acme.priv/opt/borg-backups/backup-server1"
|
rsh: ""
|
passwordCommand: "security find-generic-password -a $USER -s borg-passphrase -w"
|
id: "not_yet_loaded_1"
|
port: 9042
|
showDemoRepos: false
|
----
|
|
==== Backups of configuration files
|
|
You may configure and initialize your repositories by the BorgButler app. The config file is generated by BorgButler. Before
|
saving a new configuration BorgButler stores a copy of the current configuration in the backup dir: `~/.borgbutler/backup/`.
|
|
|
== More immpressions
|
|
See some more screens to get an first overview of the functionality of BorgButler.
|
|
[#img-repository-info]
|
Information about your repo.
|
[link=doc/images/screen-repository-info.png]
|
image::doc/images/screen-repository-info.png[Repo info,800]
|
|
[#img-logviewer]
|
There is a log file available as well as an log viewer including search functionality.
|
[link=doc/images/screen-logviewer.png]
|
image::doc/images/screen-logviewer.png[Log viewer of BorgButler,800]
|