Skip to content

Adding Debian fuse support #86

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

m0ntyG
Copy link

@m0ntyG m0ntyG commented Dec 5, 2021

Hi, this PR adds Debian fuse mount support: https://torsion.org/borgmatic/docs/how-to/extract-a-backup/

Omit the --archive flag to mount all archives (lazy-loaded):

borgmatic mount --mount-point /mnt

Or use the "latest" value for the archive to mount the latest successful archive:

borgmatic mount --archive latest --mount-point /mnt

@m3nu
Copy link
Collaborator

m3nu commented Dec 6, 2021

Shall we make this optional, since many people don't need this feature and/or have strong opinions about not wanting FUSE installed. Just my experience. 😄

Copy link
Author

@m0ntyG m0ntyG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, proposal for an optional fuse support

@m3nu
Copy link
Collaborator

m3nu commented Dec 6, 2021

Kudos for taking care of ALL the OSs. 😄

Let's run those tests and then merge it.

@m3nu
Copy link
Collaborator

m3nu commented Dec 6, 2021

Hmm. Our tests don't try different parameters yet. So it won't test the FUSE option. Todo for me to add this later.

@HolyMacarony
Copy link

HolyMacarony commented Jul 17, 2025

Dear Developers,

I've been trying for several days to configure borgmatic to mount Borg repositories on my Debian system, but I'm stuck. I would greatly appreciate any insights into what I might be misunderstanding about how this should work with borgmatic.

From my research, I understand that to enable FUSE support for Borg on Debian, it needs to be installed via pip in its own virtual environment. I've successfully done this manually:

https://borgbackup.readthedocs.io/en/stable/installation.html#using-pip
virtualenv --python=python3 borg-env
source borg-env/bin/activate

# might be required if your tools are outdated
pip install -U pip setuptools wheel

# install Borg + Python dependencies into virtualenv
pip install borgbackup
# or alternatively (if you want FUSE support):
pip install borgbackup[llfuse]  # to use llfuse
pip install borgbackup[pyfuse3]  # to use pyfuse3

This manual installation works perfectly (Step 1 complete).

However, borgmatic creates its own virtual environment in /opt/borgmatic with separate installations of both borgmatic and Borg. As mentioned by @m3nu in this comment, these installations intentionally lack FUSE support (while I don't understand the rationale for excluding mount capabilities, I assume there are valid reasons).

From the role's documentation, I see these relevant options:
borg_pip_packages: Dependancy Packages (pip) to install borg(backup) and borgmatic. borg_venv_path: Path to store the venv for borg(backup) and borgmatic
I attempted to:

  • Add borg_pip_packages: "borgbackup[pyfuse3]" to my Ansible variables, but received:
    No package(s) matching 'borgbackup[pyfuse3]' available

  • Redirect borg_venv_path to my manually created venv, but this approach also failed

After this experimentation, I've concluded that the intended workflow is:

If FUSE support is needed for either Borg or borgmatic, you must:

  • Manually create a separate virtual environment

  • Install with FUSE support (llfuse/pyfuse3)

  • Use this venv specifically for mounting operations

This appears to be the only currently working solution.

Thank you for your time and assistance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants