Ansible roles for restic client & rest server

Iā€™m happy to publish a set of Ansible roles for setting up restic clients and a restic rest-server! :tada:

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:

2 Likes