JonathanTreffler / backblaze-personal-wine-container

Run the Backblaze personal backup client in a docker container
https://hub.docker.com/r/tessypowder/backblaze-personal-wine
GNU Affero General Public License v3.0
374 stars 35 forks source link

Backblaze doesnt see network mounts #43

Open Dinth opened 1 year ago

Dinth commented 1 year ago

Hi. I am struggling to get Backblaze to backup or even find my data. My data is located on NFS server (which is different to my docker server). I used portainer to create NFS volumes, one for each NFS share. I hooked them up to backblaze container the following way (using correct user_id and group_id env variables): /storage - standard docker volume, required to create .bzvol /storage/Photos /storage/Documents /storage/Unsorted etc And then created a symlink from /storage/ to /config/wine/dosdevices/d: Once i run the container, i can see drive D: and select it in BackBlaze, but the drive scan takes only a few seconds and Backblaze shows "Remaining files: 0 files", ie. nothing to backup. When i run explorer in the docker i can see that all the contents of my NAS are there under drive D: and are writeable. I can also see that the .bzvol directory is created in D: with all its contents. What may be a problem here?

Dinth commented 1 year ago

Looking at the Backblaze log file, there is literally nothing about D: drive image

Dinth commented 1 year ago

But: image image

JonathanTreffler commented 1 year ago

The network share issue also affects @dotbanana, see https://github.com/JonathanTreffler/backblaze-personal-wine-container/issues/34#issuecomment-1359158618

I currently have no solution to offer, but if I find time, i will try to reproduce and hopefully solve the issue.

WSADKeysGaming commented 1 year ago

I'm having similar trouble on Synology, I'm seeing the drives in the explorer menu but they are empty and don't show up for backblaze. I entered winecfg and made sure the drives were selected as local disks and made sure nothing in the docker container was set as read-only.

image image
JonathanTreffler commented 1 year ago

Does anyone with this issue have time to test, whether this way of mounting NFS directories for a docker works with Backblaze: https://superuser.com/a/1439838 ?

WSADKeysGaming commented 1 year ago

Hi, for anyone having problems on Synology, I fixed my issue by checking the high privilege checkmark, changing group id to 101 (admin) and user_id to my synology userid (explained here https://www.synoforum.com/resources/how-to-find-uid-userid-and-gid-groupid.77/) and then completing the install steps as normal.

diogocardoso28 commented 1 year ago

Does anyone with this issue have time to test, whether this way of mounting NFS directories for a docker works with Backblaze: https://superuser.com/a/1439838 ?

Tried it and didn't work. If I go on wine explorer the drive shows up fine but backblaze doesn't see it.

Here's the volume mapping in portainer image Here's the winecfg and backblaze image And an ls of the mount image

JonathanTreffler commented 1 year ago

Backblaze detects network shares on Windows and maybe wine works well enough, that it can even detect it, when running in wine. On Windows a workaround is using https://github.com/dokan-dev/dokany , maybe that can be used with this docker too. I will not have the time to test that, but if anyone want to try it and report back here that would be great.

diogocardoso28 commented 1 year ago

Backblaze detects network shares on Windows and maybe wine works well enough, that it can even detect it, when running in wine. On Windows a workaround is using https://github.com/dokan-dev/dokany , maybe that can be used with this docker too. I will not have the time to test that, but if anyone want to try it and report back here that would be great.

I'm kinda new to all of this. Could you give me more hints on how to go about this? @JonathanTreffler

diogocardoso28 commented 1 year ago

Backblaze detects network shares on Windows and maybe wine works well enough, that it can even detect it, when running in wine. On Windows a workaround is using https://github.com/dokan-dev/dokany , maybe that can be used with this docker too. I will not have the time to test that, but if anyone want to try it and report back here that would be great.

Tried to install it but I cant seem to get the driver to install.

rzoont commented 11 months ago

I am trying an install on my synology (sudo su):

ash-4.4# docker run \

-p 8080:5800 \
--init \
--name backblaze_personal_backup \
-v "[backup folder]/:/drive_d/" \
-v "[config folder]/:/config/" \

Can I get a pointer what I have to fill in for the last 2 lines? An example format.

THX!

JonathanTreffler commented 11 months ago

I am trying an install on my synology (sudo su):

ash-4.4# docker run \

-p 8080:5800 \
--init \
--name backblaze_personal_backup \
-v "[backup folder]/:/drive_d/" \
-v "[config folder]/:/config/" \

Can I get a pointer what I have to fill in for the last 2 lines? An example format.

THX!

This seems completely unrelated to this issue ??? Anyways: I am not familiar with Synology, so I am not sure, if you even need to run this on the command line or if there is a GUI to create docker containers. And [backup folder] needs to be the path to the directory or drive you want to back up to Backblaze. [config folder] needs to be the path to ANY empty folder, where the docker can store it's configuration.

rzoont commented 11 months ago

I am trying an install on my synology (sudo su): ash-4.4# docker run \

-p 8080:5800 \
--init \
--name backblaze_personal_backup \
-v "[backup folder]/:/drive_d/" \
-v "[config folder]/:/config/" \

Can I get a pointer what I have to fill in for the last 2 lines? An example format. THX!

This seems completely unrelated to this issue ??? Anyways: I am not familiar with Synology, so I am not sure, if you even need to run this on the command line or if there is a GUI to create docker containers. And [backup folder] needs to be the path to the directory or drive you want to back up to Backblaze. [config folder] needs to be the path to ANY empty folder, where the docker can store it's configuration.

Well I thought that the issue of not seeing a D:\ drive might have something to do with a false path in the [backup folder] syntax.

Could you show me an example? Do I really have to type drive_d for example? And an example of config folder?

thx tor your help!

Potajito commented 7 months ago

I'm having the same issues trying to mount anything other than drive d. Somehow, the extra mount points are getting detected in wine as network drives, which backblaze ignores. Even going into winecfg inside the container and explicitly setting the drive letter to be a physical drive and not a mount doesn't seem to make a difference, and the drive still maps as a network drive. Also, trying to create a mount point (nfs, fuse, smb, bind mount) inside the d: drive also doesn't work, and backblaze ignores that mount point. I tried installing dokany, which installs just fine, but couldn't get it to work. My setup isn't very exotic either, just bare metal debian and ext4. I'm out of ideas here.

zeropoint46 commented 7 months ago

Same issue here, I tried with bind mounts as well, didn't work. I really wish there was some solution. I can't figure out what wine is doing that it can detect it's a network share.

diogocardoso28 commented 7 months ago

Same issue here, I tried with bind mounts as well, didn't work. I really wish there was some solution. I can't figure out what wine is doing that it can detect it's a network share.

I gave up as well. Ended up spinning up a windows 10 vm.

traktuner commented 6 months ago

Hey @Dinth according to my test, symlinking won't work. If you have a remote linux share, you can try to mount it directly via mout command in linux to /mnt/drive_d (make sure you mount it as read-write), add it to your docker run / compose as drive_d - and with the latest release of our container it should get auto-mounted. Please note that the permissions for the container itself and the Backblaze application are different. Even if you see the files within the container, they may not be accessible for the Backblaze app. Maybe try USER_ID=0 and GROUP_ID=0 because the root user is normally available everywhere, and then try to reduce ther necessary permissions. Unfortunately I can't test this right now on my setup - please let me know if there is any progress in your testing

zeropoint46 commented 6 months ago

@traktuner I have tried this already, not symlinking, actual mounting as well as bind mounting. Its nothing to do with permissions and i'm like 99% sure it's to do with wine. Wine can tell that it's a network share, probably cause it doesn't have exclusive access to the files like it would with a local file system. I'm not sure what exactly is going on under the hood or if something can be configured or changed in wine to make it appear as a local disk, but either way, as of now, wine detects it as a network share and for backblaze, thats game over.

traktuner commented 6 months ago

@zeropoint46 Thanks! I am also sure that this is a wine issue. I don't know if that can be configured somewhere - local disk is selected anyway for the mounts. But since we updated wine from version 8 to 9 already there's also no "fix" in that major wine release. I haven't looked into it, but maybe it's possible to mount the share in a different way with FUSE ?

zeropoint46 commented 6 months ago

@traktuner yeah maybe, if I have some time maybe this weekend I"ll play with it some more and try some userland fuse mounts.

sainio commented 1 month ago

I have had also my share of attempts here. I run the conteiner with uid and gid 0 with podman.

Bindmount nfs mount to /backblaze/drive_d and pass that to container. Wine not showing drive d: in explorer.

Bindmount nfs mount to /backblaze/drive_d/nfs and pass /backblaze/drive_d to container. D: is visible and accesible in explorer, including nfs mount and its files. .bzvol gets created into d: but nfs files are not backed up.

Quite annoying :-D