blacklabelops / volumerize

Docker Volume Backups Multiple Backends
https://hub.docker.com/r/blacklabelops/volumerize/
MIT License
558 stars 77 forks source link

B2 backup fails in current docker image #90

Closed ekrekeler closed 2 years ago

ekrekeler commented 3 years ago

With the current docker image, backing up to Backblaze B2 fails with a traceback:

Traceback (innermost last):
  File "/usr/bin/duplicity", line 87, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 70, in with_tempdir
    fn()
  File "/usr/lib/python3.8/site-packages/duplicity/dup_main.py", line 1529, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib/python3.8/site-packages/duplicity/commandline.py", line 1217, in ProcessCommandLine
    backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/lib/python3.8/site-packages/duplicity/commandline.py", line 1088, in set_backend
    config.backend = backend.get_backend(bend)
  File "/usr/lib/python3.8/site-packages/duplicity/backend.py", line 223, in get_backend
    obj = get_backend_object(url_string)
  File "/usr/lib/python3.8/site-packages/duplicity/backend.py", line 209, in get_backend_object
    return factory(pu)
  File "/usr/lib/python3.8/site-packages/duplicity/backends/b2backend.py", line 107, in __init__
    (self.path, bucket_name, self.service.account_info.get_minimum_part_size()), log.INFO)
 AttributeError: 'InMemoryAccountInfo' object has no attribute 'get_minimum_part_size'

This is due to an upstream bug in duplicity. It has since been fixed in the master branch in this commit, but has not made its way to a release yet it seems. One workaround is to build the docker image yourself and pip uninstall -y b2 b2sdk && pip install -y b2 b2sdk==1.7.0

I would recommend keeping this around until the next release of duplicity so other users can see it and track it.

blacklabelops commented 2 years ago

SDK is now part of image.