No description
  • Jinja 46.7%
  • Shell 38.5%
  • Just 14.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Slavi Pantaleev e0e52b8331 Make the base, bin and config paths owned by root
Root runs the borgmatic script, and the container (running as root with CAP_DAC_OVERRIDE) reads the configuration, so its hooks would run as root.
Whoever owns the base path could rename the other paths (even root-owned ones) and put others in their place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 09:40:56 +02:00
.github Track published borgmatic image pairs from GHCR 2026-09-26 13:11:12 +03:00
bin Track published borgmatic image pairs from GHCR 2026-09-26 13:11:12 +03:00
defaults Update ghcr.io/etkecc/borgmatic Docker tag to v1.4.5-2.2.0 2026-10-30 02:36:44 +00:00
docs feat: make one_file_system configurable 2026-09-28 14:07:49 +03:00
LICENSES Make the project compliant with REUSE 2025-02-11 23:13:23 +09:00
meta Update meta/main.yml: credit author properly 2026-08-27 10:50:58 -04:00
molecule Update pre-commit repositories and hooks 2026-10-29 01:33:25 -08:00
tasks Make the base, bin and config paths owned by root 2026-10-30 09:40:56 +02:00
templates feat: make one_file_system configurable 2026-09-28 14:07:49 +03:00
.ansible-lint Update pre-commit 2025-05-29 19:53:46 +09:00
.gitignore Add a Molecule scenario that takes a backup and restores it 2026-08-23 18:24:14 +03:00
.pre-commit-config.yaml Update pre-commit repositories and hooks 2026-10-29 01:33:25 -08:00
.python-version Add a Molecule scenario that takes a backup and restores it 2026-08-23 18:24:14 +03:00
.yamllint.yml Update pre-commit 2025-05-29 19:53:46 +09:00
justfile Update justfile: git hooks resolve prek through the mise shim 2026-08-25 11:12:21 -04:00
LICENSE Add license 2023-02-13 10:47:47 +02:00
mise.toml mise: drop the settings block - yes is ignored in project configs 2026-08-16 09:26:05 +03:00
README.md Update README.md: add a section about releases 2026-10-02 01:24:06 -04:00
REUSE.toml Add a Molecule scenario that takes a backup and restores it 2026-08-23 18:24:14 +03:00

BorgBackup Ansible role

REUSE status

This is an Ansible role which installs and configures BorgBackup (short: Borg) with borgmatic in a Docker container wrapped in a systemd service.

This role implicitly depends on:

Check defaults/main.yml for the full list of supported options. Refer to this page for details about setting up the service with this role.

💡 For an Ansible playbook which integrates this role and makes it easier to use, see the Mother-of-All-Self-Hosting Ansible playbook.

Development

pre-commit

You can optionally install a Git pre-commit hook (via mise + prek) that runs formatting and linting checks before each commit. See .pre-commit-config.yaml for which hooks are to be executed.

To install the hook, run the just command below:

just prek-install-git-pre-commit-hook

Molecule

This role supports Molecule, an Ansible testing framework designed for developing and testing Ansible collections, playbooks, and roles.

Refer to this page for details about how to utilize it.

Releases

Tags are created on the GitHub workflow by .github/workflows/autotag.yml, which asks bin/compute-next-tag.sh what the commit on main should be released as. The answer comes from the version pinned in defaults/main.yml and from the tags that already exist, so a commit that only touches documentation or CI is not released at all, and any change to the role itself is — without waiting for a dependency bump to carry it along.

bin/test-compute-next-tag.sh exercises that script against throwaway repositories, and runs as a prek hook.