docker-crashplan-pro icon indicating copy to clipboard operation
docker-crashplan-pro copied to clipboard

No files shown in folders mounted from NAS

Open Benoire opened this issue 7 years ago • 37 comments

Hi

I've been using a previous docker image on my NAS but saw you had updated yours to the new application and have tried it.

Downloading & setting up are fine, same as logging in and transfering ownership. When I go to select the right directories however, the docker can see them but doesn't show any files from the shares meaning nothing gets backed up.

Is this intended behaviour in that the docker image cannot actually see the file as the older ones could. Any help is appreciated!

Cheers

Chris

Benoire avatar Dec 09 '17 01:12 Benoire

So you mapped the /storage folder and see nothing inside it? Then it’s most likely a permission/ownership issue. Make sure to run the container with the same user/group as your files on the host. You can look at the README, there is a section about that under « Troubleshooting ».

jlesage avatar Dec 09 '17 02:12 jlesage

I am having the same issue. I tried following your guide and changed the advanced environment settings from the pre-made container to 500 for userid and 0 for group. This had no effect to the files displaying properly. I can see the root folders that I want to back up but any content inside those folders do not show up. I have tried installing this with the SSH command line also with the same results. I did not see in the readme how to set it up with the CLI command to set up the container.

Do I need to create a new container every time I want to change one of these variables? I did not see a way to modify the variables even with the container stopped.

Nappa231 avatar Dec 13 '17 01:12 Nappa231

@Nappa231, what is the docker command you used to create the container?

jlesage avatar Dec 13 '17 11:12 jlesage

I used this command on my QNAP NAS via SSH.

docker run -d --name=crashplan-pro-gui-1 -p 5800:5800 -v /share/CACHEDEV1_DATA/Container/config/crashplan-pro:/config:rw -v /share/CACHEDEV1_DATA:/storage:ro jlesage/crashplan-pro

Nappa231 avatar Dec 13 '17 13:12 Nappa231

And inside /share/CACHEDEV1_DATA/, are all the files and sub-folders have the same ownership (same user, group)?

jlesage avatar Dec 13 '17 14:12 jlesage

I have the admin account that has RW access and 1 other account that has RW access to everything.

Nappa231 avatar Dec 13 '17 17:12 Nappa231

What we need to know is which user/group owns your files.

For example, you can execute: ls -l /share/CACHEDEV1_DATA/* && ls -l /share/CACHEDEV1_DATA/*/*

You can provide a snippet of the output to give an idea of how permissions are set.

If everything seems to be owned by the same user, then you can run id <user> to determine its ID and the one of its group.

jlesage avatar Dec 13 '17 17:12 jlesage

Here is a snippet of one of the primary folders I am backing up. permissions

Nappa231 avatar Dec 13 '17 18:12 Nappa231

So your files are owned by at least two different users.

What about the output of:

cat /etc/passwd
cat /etc/group

jlesage avatar Dec 13 '17 18:12 jlesage

Here you go

cat

Nappa231 avatar Dec 13 '17 18:12 Nappa231

Depending on what you want to backup, the following command should work:

docker run -d --name=crashplan-pro-gui-1 -p 5800:5800 -e USER_ID=500 -e GROUP_ID=100 -v /share/CACHEDEV1_DATA/Container/config/crashplan-pro:/config:rw -v /share/CACHEDEV1_DATA:/storage:ro jlesage/crashplan-pro

This should give the container access to all files owned by user "Scott". If you want to backup files for other users as well (e.g. the "VM" folder), then I guess you have to use the "admin" user (USER_ID=0 and GROUP_ID=0).

jlesage avatar Dec 13 '17 18:12 jlesage

I set both User_ID and Group_ID to 0 and this is what I see after sync is done in docker. docker1 docker2

Nappa231 avatar Dec 13 '17 18:12 Nappa231

Inside the container, you should access your files under /storage, not /share.

jlesage avatar Dec 13 '17 18:12 jlesage

From what I can tell it is trying to back up the folders from /share not /storage. I discovered I can manually change the backup folders on the Crashplan website but I would have to back my data up all over again because it considers it all to be in a new location.

Nappa231 avatar Dec 13 '17 19:12 Nappa231

Did you initially backup your data with another CrashPlan instance?

jlesage avatar Dec 13 '17 20:12 jlesage

If yes, the you would typically have files marked as « missings ». Just select the files again under /storage. Because of deduplication, your files won’t be re-uploaded again.

jlesage avatar Dec 13 '17 20:12 jlesage

I was using the Dynek Qnap package for CP Home. As far as the missing I do not see that as the file path is completely different. See below:

cp1 cp2

And then after I change to where my files are in storage

cp3

Nappa231 avatar Dec 13 '17 20:12 Nappa231

It is not defaulting to the /storage locations to look for my existing files. Instead it created the folder in /share after I downloaded one of my backed up items from my current backup and put it there automatically. I put a large file in one of my backup locations and it does not back it up because it is looking at /share for file changes.

Nappa231 avatar Dec 13 '17 20:12 Nappa231

Not sure to follow you, but instead of mapping /storage, you can map /share when creating the container.

jlesage avatar Dec 13 '17 20:12 jlesage

When I tried the following code it is unable to connect to the background service and times out.

docker run -d --name=crashplan-pro-gui-1 -p 5800:5800 -e USER_ID=0 -e GROUP_ID=0 -v /share/CACHEDEV1_DATA/Container/config/crashplan-pro:/config:rw -v /share/CACHEDEV1_DATA:/share:ro jlesage/crashplan-pro

Nappa231 avatar Dec 13 '17 20:12 Nappa231

I think you hit another separate issue. If you go back and map /storage instead, it works again?

jlesage avatar Dec 13 '17 23:12 jlesage

You're right. It does not. I have rebooted the QNAP and it still can not connect to the background service. It is as if the Crashplan service is not running anymore. I do not know how to start the service. I guess I am kinda stuck now lol.

Nappa231 avatar Dec 13 '17 23:12 Nappa231

In the appdata, open the conf/my_service.xml file and check if the serviceHost is set to:

<serviceHost>127.0.0.1</serviceHost>

If not, try to modify it and start/restart the container.

jlesage avatar Dec 14 '17 00:12 jlesage

I think I found the root cause for this connectivity issue. Looks like localhost resolves to your NAS IP address instead of 127.0.0.1. You can confirm with this command: docker run --rm jlesage/crashplan-pro nslookup localhost I'm working on a fix for this :)

jlesage avatar Dec 14 '17 02:12 jlesage

I set up the container using these instructions https://github.com/jlesage/docker-crashplan-pro/issues/8 and it found my files and everything is up to date on the crash plan side. I stopped the container and updated the my_service.xml file and then re-started the service and am back to it being unable to connect to the background service. I also ran the command you stated above and got this result.

Name: localhost Address 1: ::1 localhost Address 2: 127.0.0.1 localhost nslookup: can't resolve '(null)': Name does not resolve

Edit: I found it interesting that after I stopped the container the my_service.xml reverted to my NAS IP. I wonder what could be causing this. Once I changed it again and re-started the container I was able to reconnect to the background service.

Nappa231 avatar Dec 14 '17 03:12 Nappa231

Can you try these commands (the container should run):

docker exec crashplan-pro-gui-1 nslookup localhost
docker exec crashplan-pro-gui-1 cat /etc/hosts

jlesage avatar Dec 14 '17 10:12 jlesage

And also:

docker inspect crashplan-pro-gui-1

jlesage avatar Dec 14 '17 11:12 jlesage

Do I need to have the container stopped before running these commands?

Nappa231 avatar Dec 14 '17 14:12 Nappa231

No, the container needs to be running.

jlesage avatar Dec 14 '17 15:12 jlesage

1st Command: docker exec crashplan-pro-for-QNAP nslookup localhost nslookup: can't resolve '(null)': Name does not resolve

Name: localhost Address 1: ::1 localhost Address 2: 127.0.0.1 localhost

2nd Command: docker exec crashplan-pro-for-QNAP cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 10.0.3.2 06a0fa3391ac

3rd Command:

[~] # docker inspect crashplan-pro-for-QNAP [ { "Id": "06a0fa3391acdd2faa7e0455f3f4a23bd1ffb00e03160b7d57fc77a1df78f077", "Created": "2017-12-14T02:09:36.044880957Z", "Path": "/init", "Args": [], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 18401, "ExitCode": 0, "Error": "", "StartedAt": "2017-12-14T03:32:56.830923328Z", "FinishedAt": "2017-12-14T03:32:05.416717059Z" }, "Image": "sha256:bfa751ed46644df4ce3a0af650867ca95571a55f50123bf82992ddd4f9141e1a", "ResolvConfPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/06a0fa3391acdd2faa7e0455f3f4a23bd1ffb00e03160b7d57fc77a1df78f077/resolv.conf", "HostnamePath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/06a0fa3391acdd2faa7e0455f3f4a23bd1ffb00e03160b7d57fc77a1df78f077/hostname", "HostsPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/06a0fa3391acdd2faa7e0455f3f4a23bd1ffb00e03160b7d57fc77a1df78f077/hosts", "LogPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/06a0fa3391acdd2faa7e0455f3f4a23bd1ffb00e03160b7d57fc77a1df78f077/06a0fa3391acdd2faa7e0455f3f4a23bd1ffb00e03160b7d57fc77a1df78f077-json.log", "Name": "/crashplan-pro-for-QNAP", "RestartCount": 0, "Driver": "overlay", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "", "ExecIDs": null, "HostConfig": { "Binds": [ "/share/Container/appdata/crashplan-pro:/config:rw", "/share:/share:rw" ], "ContainerIDFile": "", "LogConfig": { "Type": "json-file", "Config": {} }, "NetworkMode": "default", "PortBindings": { "5800/tcp": [ { "HostIp": "", "HostPort": "5800" } ] }, "RestartPolicy": { "Name": "no", "MaximumRetryCount": 0 }, "AutoRemove": false, "VolumeDriver": "", "VolumesFrom": null, "CapAdd": null, "CapDrop": null, "Dns": [], "DnsOptions": [], "DnsSearch": [], "ExtraHosts": null, "GroupAdd": null, "IpcMode": "", "Cgroup": "", "Links": null, "OomScoreAdj": 0, "PidMode": "", "Privileged": false, "PublishAllPorts": false, "ReadonlyRootfs": false, "SecurityOpt": null, "StorageOpt": null, "UTSMode": "", "UsernsMode": "", "ShmSize": 67108864, "ConsoleSize": [ 0, 0 ], "Isolation": "", "CpuShares": 0, "Memory": 0, "CgroupParent": "", "BlkioWeight": 0, "BlkioWeightDevice": null, "BlkioDeviceReadBps": null, "BlkioDeviceWriteBps": null, "BlkioDeviceReadIOps": null, "BlkioDeviceWriteIOps": null, "CpuPeriod": 0, "CpuQuota": 0, "CpusetCpus": "", "CpusetMems": "", "Devices": [], "DiskQuota": 0, "KernelMemory": 0, "MemoryReservation": 0, "MemorySwap": 0, "MemorySwappiness": -1, "OomKillDisable": false, "PidsLimit": 0, "Ulimits": null, "CpuCount": 0, "CpuPercent": 0, "BlkioIOps": 0, "BlkioBps": 0, "SandboxSize": 0 }, "GraphDriver": { "Name": "overlay", "Data": { "LowerDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay/81917bc9b873dd2a505fa2753c710941d81d6af8c08c37a641b08b09810e580a/root", "MergedDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay/0098c28c213c6111c004bbbf104944f8951b10febaf558dabf766921bb6e92d0/merged", "UpperDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay/0098c28c213c6111c004bbbf104944f8951b10febaf558dabf766921bb6e92d0/upper", "WorkDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay/0098c28c213c6111c004bbbf104944f8951b10febaf558dabf766921bb6e92d0/work" } }, "Mounts": [ { "Source": "/share/Container/appdata/crashplan-pro", "Destination": "/config", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Source": "/share", "Destination": "/share", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Name": "584a6f4bbc326d6911cf994d327ec93e46cf071ed07ac84079e4627ffee73807", "Source": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/584a6f4bbc326d6911cf994d327ec93e46cf071ed07ac84079e4627ffee73807/_data", "Destination": "/storage", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], "Config": { "Hostname": "06a0fa3391ac", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "5800/tcp": {}, "5900/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "USER_ID=0", "GROUP_ID=0", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=en_US.UTF-8", "S6_BEHAVIOUR_IF_STAGE2_FAILS=3", "S6_SERVICE_DEPS=1", "APP_NAME=CrashPlan for Small Business", "APP_USER=app", "XDG_DATA_HOME=/config/xdg/data", "XDG_CONFIG_HOME=/config/xdg/config", "XDG_CACHE_HOME=/config/xdg/cache", "DISPLAY=:0", "DISPLAY_WIDTH=1280", "DISPLAY_HEIGHT=768", "S6_WAIT_FOR_SERVICE_MAXTIME=10000", "KEEP_GUIAPP_RUNNING=1", "CRASHPLAN_DIR=/usr/local/crashplan", "JAVACOMMON=/usr/local/crashplan/jre/bin/java" ], "Cmd": [ "/init" ], "Image": "jlesage/crashplan-pro", "Volumes": { "/config": {}, "/storage": {} }, "WorkingDir": "/tmp", "Entrypoint": null, "OnBuild": null, "Labels": { "org.label-schema.description": "Docker container for CrashPlan PRO", "org.label-schema.name": "crashplan-pro", "org.label-schema.schema-version": "1.0", "org.label-schema.vcs-url": "https://github.com/jlesage/docker-crashplan-pro", "org.label-schema.version": "2.0.1" } }, "NetworkSettings": { "Bridge": "", "SandboxID": "d43e29d86b94b52dc361cf08be3411820b21abca07b9937645e23a7002835da3", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "5800/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "5800" } ], "5900/tcp": null }, "SandboxKey": "/var/run/docker/netns/d43e29d86b94", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "f1baf69afb2632ba12d35bb44ddb626ee6600afe875530adcbdd461f02a81e5c", "Gateway": "10.0.3.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "10.0.3.2", "IPPrefixLen": 24, "IPv6Gateway": "", "MacAddress": "02:42:0a:00:03:02", "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "e21a4126f02960528e038ff47e4f7bb4b476a178f87235896180a2ed5febed2e", "EndpointID": "f1baf69afb2632ba12d35bb44ddb626ee6600afe875530adcbdd461f02a81e5c", "Gateway": "10.0.3.1", "IPAddress": "10.0.3.2", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:0a:00:03:02" } } } } ]

Nappa231 avatar Dec 14 '17 15:12 Nappa231