Iām happy to publish a set of Ansible roles for setting up restic clients and a restic rest-server!
In the default configuration, restic
is downloaded from GitHub and started periodically each night via a systemd service. If present, LVM filesystem snapshots are created for all volumes, and a backup is created of /
(the whole filesystem).
The backup repository
location is configurable, but tailored towards saving backups on the restic REST-server, with a separate login for each client.
Passwords for backup encryption and REST authentication are by default saved in a passwordstore, although this can also be changed.
Backups and prune operations can be manually triggered via systemctl start restic-backup
and systemctl start restic-prune
. The latter will run once a week at saturday night. Other restic commands can easily be done by switching to the restic
user - repository file and password file automatically get set via environment variables.
You might find references to other restic_*
roles, these are not yet published, but will follow soon. Both roles have only very fundamental testing included via molecule. They are also available on Ansible Galaxy in the fifty2technology
namespace.
Questions, bug reports, feature requests and merge requests are very welcome!
Links:
- restic_client: GitHub, Ansible Galaxy
- restic_server: GitHub, Ansible Galaxy
- restic_remote: GitHub, Ansible Galaxy