docker-crashplan-pro
docker-crashplan-pro copied to clipboard
No files shown in folders mounted from NAS
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
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 ».
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, what is the docker command you used to create the container?
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
And inside /share/CACHEDEV1_DATA/
, are all the files and sub-folders have the same ownership (same user, group)?
I have the admin account that has RW access and 1 other account that has RW access to everything.
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.
Here is a snippet of one of the primary folders I am backing up.
So your files are owned by at least two different users.
What about the output of:
cat /etc/passwd
cat /etc/group
Here you go
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).
I set both User_ID and Group_ID to 0 and this is what I see after sync is done in docker.
Inside the container, you should access your files under /storage
, not /share
.
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.
Did you initially backup your data with another CrashPlan instance?
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.
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:
And then after I change to where my files are in storage
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.
Not sure to follow you, but instead of mapping /storage, you can map /share when creating the container.
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
I think you hit another separate issue. If you go back and map /storage
instead, it works again?
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.
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.
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 :)
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.
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
And also:
docker inspect crashplan-pro-gui-1
Do I need to have the container stopped before running these commands?
No, the container needs to be running.
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" } } } } ]