Giter VIP home page Giter VIP logo

docker-duplicity's Issues

OneDrive support

Hello,
Would you please to include py-requests py-requests-oauthlib packages in order to support OneDrive service?

Swift backend requires

I try to run duplicity with swift protocol but "python-swiftclient" library is absent even if this library is present inside Pipfile.

$ docker run ... wernight/duplicity:latest FILENAME swift://test
gpg: WARNING: unsafe ownership on homedir '/home/duplicity/.gnupg'
BackendException: Swift backend requires the python-swiftclient library.
Exception: No module named 'pkg_resources'

PyDrive backend not working due to missing imports

Attempting a backup with the PyDrive backend gives the following error:

$ docker run --rm --user $UID -e GOOGLE_DRIVE_ACCOUNT_KEY -v /home/austin/.cache:/home/duplicity/.cache/duplicity -v /home/austin/.gnupg:/home/duplicity/.gnupg -v /home/austin/data:/data:ro wernight/duplicity duplicity --allow-source-mismatch --full-if-older-than=6M --no-encryption /data pydrive://[email protected]/duplicity
BackendException: PyDrive backend requires PyDrive and Google API client installation.                                                                                                                             
Please read the manpage for setup details.                                                                                                                                                                         
Exception: No module named 'pkg_resources'

PyDrive

I'm getting the following error when using pydrive

BackendException: PyDrive backend requires PyDrive installationPlease read the manpage to fix.

Error on .cache dir

Hello,
thanks for this useful image. I followed the readme for google drive but I am stuck on this error.

Specified archive directory '/home/duplicity/.cache/duplicity/9dab3bb458bb65e6ad73d147c338aec2' does not exist, or is not a directory

Seems like duplicity cannot use the mounted .cache directory properly, have you ever experienced such error?

Thank you
Regards

No arguments expected for "shell" command, got "duplicity"

On any command I run with the latest Docker container, I get the error:

No arguments expected for "shell" command, got "duplicity"

This seems to be because the ENTRYPOINT is poetry shell and then the CMD duplicity is not allowed.

Does s3 location eu-central-1 work for anybody?

Hi,

tried to get the image to work with backup to s3 location eu-central-1. Is this working for anybody? I always get a InvalidLocationConstraint error. It seems there are quite a lot bugs in boto3 about that topic.

It would be nice if someone could share a working backup command line.

Thx

Container fails to connect to scp or sftp using default backend

It seems like some required module for the default scp / sftp backend used by duplicity is missing in the container. When I try to connect to some scp scheme url, I get the following:

user@host:~# docker run --rm wernight/duplicity duplicity /root scp://192.168.0.1/test 
BackendException: Could not initialize backend: No module named paramiko

In this example, a scp url is used, but the error is the same for sftp urls. Also, the host doesn't have to be available for an actual connection, because the docker image is obviously missing the required package.

Upgrade to 0.7.17

http://duplicity.nongnu.org/

New in v0.7.17 (2018/02/26)
---------------------------
* Removed changes made in bug #1044715 Provide a file history feature
  - Changes required too much memory to carry in the manifest
  - The option --file-changed in collection-status is now invalid
  - This will close bugs: #1730451, #896728, #1526557, #1550176
  - Starting a full backup will be needed to fully utilize this fix
* Fix update of Launchpad Translations.  Translations were not being picked
  up on a daily basis and we got several months behind.


New in v0.7.16 (2018/01/12)
---------------------------
* Fixed bug #1733057 AttributeError: 'GPGError' object has no attribute 'decode'
  - Replaced call to util.ufn() with call to util.uexc().  Stupid typo!
* More fixes for Unicode handling
  - Default to 'utf-8' if sys.getfilesystemencoding() returns 'ascii' or None
  - Fixed bug #1386373 with suggestion from Eugene Morozov
* Patched in lp:~crosser/duplicity/fix-oauth-flow
  - Fixed bug #1638236 "BackendException with oauth2client 4.0.0"
* Patched in lp:~crosser/duplicity/dpbx-fix-file-listing
  - Fixed bug #1639664 "Dropbox support needs to be updated for Dropbox SDK v7.1"
* Patched in lp:~crosser/duplicity/fix-small-file-upload
  - Fixed small file upload changes made in Dropbox SDK v7.1
* Fix pylint error in webdavbackend.py


New in v0.7.15 (2017/11/13)
---------------------------
* Fixed bug introduced in new megabackend.py where process_commandline()
  takes a string not a list.  Now it takes both.
* Updated web page for new megabackend requirements.
* Patched in lp:~mterry/duplicity/more-decode-issues
  - Here's some fixes for another couple UnicodeDecodeErrors.
  - The duplicity/dup_time.py fixes when a user passes a utf8 date string (or a string with bogus
    utf8 characters, but they have to really try to do that). This is bug 1334436.
  - The bin/duplicity change from str(e) to util.uexc(e) fixes bug 1324188.
  - The rest of the changes (util.exception_traceback and bin/duplicity changes to use it) are to
    make the printing of exceptions prettier. Without this, if you see a French exception, you see
    "accept\xe9es" instead of "acceptées".
  - You can test all of these changes in one simple line:
    $ LANGUAGE=fr duplicity remove-older-than $'accept\xffées'
* Fix backend.py to allow string, list, and tuple types to support megabackend.py.
* Fixed bug #1715650 with patch from Mattheww S
  - Fix to make duplicity attempt a get first, then create, a container
    in order to support container ACLs.
* Fixed bug #1714663 "Volume signed by XXXXXXXXXXXXXXXX, not XXXXXXXX"
  - Normalized comparison length to min length of compared keys before comparison
  - Avoids comparing mix of short, long, or fingerprint size keys.
* Merged in lp:~mterry/duplicity/rename-dep
  - Make rename command a dependency for LP build
* Fixed bug #1654756 with new b2backend.py module from Vincent Rouille
  - Faster (big files are uploaded in chunks)
  - Added upload progress reporting support
* Fixed bug #1448094 with patch from Wolfgang Rohdewald
  - Don't log incremental deletes for chains that have no incrementals
* Fixed bug #1724144 "--gpg-options unused with some commands"
  - Add --gpg-options to get version run command
* Fixed bug #1720159 - Cannot allocate memory with large manifest file since 0.7.03
  - filelist is not read if --file-changed option in collection-status not present
  - This will keep memory usage lower in non collection-status operations
* Fixed bug #1723890 with patch from Killian Lackhove
  - Fixes error handling in pydrivebackend.py
* Fixed bug #1730902 GPG Error Handling
  - use util.ufn() not str() to handle encoding


New in v0.7.14 (2017/08/31)
---------------------------
* Merged in lp:~dawgfoto/duplicity/skip_sync_collection_status
  - collection-status should not sync metadata
  - up-to-date local metadata is not needed as collection-status is
    generated from remote file list
  - syncing metadata might require to download several GBs
* Fixed slowness in 'collection-status' by basing the status on the
  remote system only.  The local cache is treated as empty.
* Fixed encrypted remote manifest handling to merely put out a non-fatal
  error message and continue if the private key is not available.
* Patched in lp:~mterry/duplicity/giobackend-display-name
  - giobackend: handle a wider variety of gio backends by making less assumptions;
    in particular, this fixes the google-drive: backend
* Fixed bug #1709047 with suggestion from Gary Hasson
  - fixed so default was to use original filename
* Fixed PEP8 errors in bin/duplicity
* Merged in lp:~mterry/duplicity/gio_child_for_display_name_0.7
  - gio: be slightly more correct and get child GFiles based on display name
* Fixed bug #1711905 with suggestion from Schneider
  - log.Warn was invoked with log.warn in webdavbackend.py
* Merged in lp:~mterry/duplicity/gpg-tag-versions
  - Support gpg versions numbers that have tags on them.
  - This can happen if you build gpg from git trunk (e.g. 2.1.15-beta20). Or if you run
    against the freedesktop flatpak runtime (e.g. 2.1.14-unknown).
* Fixed bug #1394386 with new module megabackend.py from Tomas Vondra
  - uses megatools from https://megatools.megous.com/ instead of mega.py library
    which has been deprecated
  - fixed copyright and PEP8 issues
  - replaced subprocess.call() with self.subprocess_popen() to standardize
* Fixed bug #1713640 with patch from Aleksandar Ivanisevic
  - replace 2.7 syntax with 2.6 equivalent
* Fixed bug #1538333 Assertion error in manifest.py: assert filecount == ...
  - Made sure to never pass .part files as true manifest files
  - Changed assert to log.Error to warn about truncated/corrupt filelist
  - Added unit test to make sure detection works
  - Note: while this condition is serious, it will not affect the basic backup and restore
    functions.  Interactive options like --list-files-changed and --file-changed will not
    work correctly for this backup set, so it is advised to run a full backup as soon as
    possible after this error occurs.
* Fixed bug #1638033 Remove leading slash on --file-to-restore
  - code already used rstrip('/') so change to just strip('/')

Stable and latest point to the same docker hash without paramiko

@wernight I am using the docker-duplicity image with paramiko for remote backup. Since the last commits, the image does not contain paramiko anymore and duplicity fails.

According to https://hub.docker.com/r/wernight/duplicity/tags, the digest for stable and latest are the same and point to the docker image available in the stable folder (without paramiko).

See picture
image

For now, it seems the images are pushed manually . I can provide some automation using Github actions for updating the images if you are interested

Upgrade to latest version

Thanks for maintaining this repository.

Could you upgrade alpine to the latest version? A lot of bugs have been fixed in duplicity in the meantime, particularly one that causes duplicity to consume a lot of memory.

SSH backend does not work anymore

Duplicity requires paramiko or pexpect for ssh support. Recent commits removed py3-paramiko package thus there is no support for ssh/sftp anymore.

Second problem: docker repo does not contain version tags, so it's not possible to just pull an older image without this issue.

Use docker-duplicity on Raspberry Pi

It seems the base alpine:3.8 is not working on Raspberry Pi hardware:

standard_init_linux.go:211: exec user process caused "exec format error"

Alpine does support ARM architecture, is there a way to make your dockerfile multiplatform?

B2: Certificate verification failed

I get the below error when trying to backup to B2. Could seem like the container doesn't have an up to date certificates file.

Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1537, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1531, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1369, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib/python2.7/site-packages/duplicity/commandline.py", line 1117, in ProcessCommandLine
    backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/lib/python2.7/site-packages/duplicity/commandline.py", line 1006, in set_backend
    globals.backend = backend.get_backend(bend)
  File "/usr/lib/python2.7/site-packages/duplicity/backend.py", line 223, in get_backend
    obj = get_backend_object(url_string)
  File "/usr/lib/python2.7/site-packages/duplicity/backend.py", line 209, in get_backend_object
    return factory(pu)
  File "/usr/lib/python2.7/site-packages/duplicity/backends/b2backend.py", line 73, in __init__
    response = urllib2.urlopen(request)
  File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 429, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 447, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1241, in https_open
    context=self._context)
  File "/usr/lib/python2.7/urllib2.py", line 1198, in do_open
    raise URLError(err)
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>

wrong username being used on rsync server

Per the documentation, I am attempting to backup a directory on the machine host to be transfered via rsync with the "net-backup" user account, unfortunately the wrong username "root" is being passed for authentication to the rsync server.

core@coreos ~ $ docker run --rm -it \
>   --user root -e PASSPHRASE=P4ssw0rd \
>   -v $PWD/.cache:/home/duplicity/.cache/duplicity \
>   -v $PWD/.gnupg:/home/duplicity/.gnupg \
>   -v /backups/scripts/net-backup.key:/id_rsa:ro \
>   -v ~/.ssh/known_hosts:/etc/ssh/ssh_known_hosts:ro \
>   -v /data:/bak:ro \
>   wernight/duplicity \
>   duplicity --full-if-older-than=6M --allow-source-mismatch \
>   --rsync-options='-e "ssh -i /id_rsa"' \
>   /bak rsync://[email protected]::NetBackup/cerb 
gpg: WARNING: unsafe permissions on homedir '/home/duplicity/.gnupg'
[email protected]'s password: 

Any assistance would be appreciated

Google Cloud fails with UnsupportedBackendScheme

23 days ago, my backups to Google Cloud stopped working with the following error:

UnsupportedBackendScheme: scheme not supported in url: gs://...

Because the issue appeared 23 days ago, I assume it must have been caused by one of the 4 commits since then. However, I couldn’t find a cause from the diff. Neither pip install boto nor apk add --no-cache py3-six helped.

One can reproduce the issue by running:

> docker run --rm --user $UID \
      -e PASSPHRASE=P4ssw0rd \
      wernight/duplicity \
      duplicity --full-if-older-than=6M --allow-source-mismatch /data gs://my-bucket-name/some_dir

gpg: WARNING: unsafe ownership on homedir '/home/duplicity/.gnupg'
UnsupportedBackendScheme: scheme not supported in url: gs://my-bucket-name/some_dir

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.