jlesage / docker-crashplan-pro

Docker container for CrashPlan PRO (aka CrashPlan for Small Business)
290 stars 39 forks source link

Need basic help with installation - need more details #34

Open bgmess opened 6 years ago

bgmess commented 6 years ago

I am fairly new to Linux and Docker. I need more instructions that those given in the quick start:

Launch the CrashPlan PRO docker container with the following command:

docker run -d \ --name=crashplan-pro \ -p 5800:5800 \ -p 5900:5900 \ -v /docker/appdata/crashplan-pro:/config:rw \ -v $HOME:/storage:ro \ jlesage/crashplan-pro

Where do I enter the above commands?

Is this all I need to do?

Any tips would be greatly appreciated. Not sure how to begin. I have installed Docker on the Synology NAS, but that's as far as I got.

Thanks, Brian

excalibr18 commented 6 years ago

@dmase2: So when you get to the part of the guide that says:

From your Web Browser:

  1. Log into the CrashPlan PRO container GUI by pointing your browser to your IP address of the synology at port 5800 (http:\192.168.XXX.XXX:5800)
  2. Sign into your CrashPlan account through the web GUI you just accessed.

Are you saying that your the CrashPlan PRO container is not accepting your CrashPlan login credentials?

You mention you have a Windows computer that backs up with no problems. Are you paying for multiple devices on your CrashPlan account? I know they switched to a per-device payment structure when they dropped CrashPlan Home.

As for the green padlock, yes it's normal: image EDIT: the padlock will be "locked" if you are using the SECURE_CONNECTION environment variable. It'll be "unlocked" if you aren't using it.

dmase2 commented 6 years ago

when i address the container via http://192.xxx.xxx.xxx/5800 I get the first part of the log in screen for crashplan pro where I can enter email. When I enter the email address, I get the following after a minute or so. loginfail

When I log in from my windows machine, after entering the email address I get a new dialogue box for entering my password.

The following is the icon I referred to earlier, note it is in "unlock" position.

unlockedicon

Thanks for the help.

jlesage commented 6 years ago

Look at /volume1/docker/appdata/crashplan-pro/log/service.log.0 to have more details about the failure.

The icon in unlock position is normal when you connect over http: it means that the unencrypted connection to the UI succeeded.

dmase2 commented 6 years ago

From the service.log.0 this appears to be the problem area. Is the unresolved address on the server side or on my side?

[03.15.18 15:13:54.953 WARN DefaultGroup .code42.messaging.peer.PeerGroup] PG::DefaultGroup PeerException attempting to connect. RemotePeer-[guid=42, state=CONNECTING]; Session-null e=com.code42.peer.exception.PeerException: IOExcepton opening remote session. guid=42, remoteLocation=TargetAndProxyLocation [DIRECT -- target=[[42@central.crashplanpro.com:443(server)], pbKRequestable=true]], timeout=30000, e=Unexpected Exception in connect() for remoteAddress=central.crashplanpro.com:443, java.nio.channels.UnresolvedAddressException

jlesage commented 6 years ago

On yours. Run the following commands on your host to see if the address can be resolved in both cases:

nslookup central.crashplanpro.com
docker exec crashplan-pro1 nslookup central.crashplanpro.com
dmase2 commented 6 years ago

image

dns problem from docker?

dmase2 commented 6 years ago

@jlesage I added "--net=host" to the script and it now seems to be working. Able to log in and crashplan is beginning the sync. Thank you for the docker image and the help. Do you have a shareware contribution method in place? Doug

excalibr18 commented 6 years ago

Donation link for jlesage is here: image

jlesage commented 6 years ago

@dmase2, if setting the network mode to “host” fixes the issue, then you seems to have an issue with your docker setup.

Maybe this can help? https://forum.synology.com/enu/viewtopic.php?t=109640 https://www.google.ca/amp/s/amp.reddit.com/r/docker/comments/64tst6/synology_nas_docker_networking_problem/

dmase2 commented 6 years ago

@jlesage Neither link seemed to help. I have already tried completely unloading docker and re-installing it from scratch. I'm not sure how to apply the second link's solution to my situation. It seemed like a temp solution anyway.

PNMarkW2 commented 6 years ago

I've followed the step and it seems to be running, but I can not get to the container GUI. When I try to go to 192.168.xxx.xxx:5008 I get the message "This site can't be reached. 192.168.xxx.xxx refused to connect". I'm sure I'm missing something simple, yet I verified that I set the port correct, I've checked the firewall setting, clearly, I can get to the NAS since I setup CrashPlan, and run other apps there like Plex.

Any thoughts?

jlesage commented 6 years ago

By default, the port is 5800, not 5008. Did you mapped the port to another one? Which docker run command did you use?

PNMarkW2 commented 6 years ago

As I said, a simple mistake. No, I didn't change it, I was just typing it wrong, several times and in multiple places. :-)

jlesage commented 6 years ago

Then more information is needed to determine the problem: The parameters of the container (the complete docker run command you used to create the container or the output of docker inspect) and the container's log (docker logs).

PNMarkW2 commented 6 years ago

Sorry if I wasn't clear, the only problem I had was that I mistyped the port multiple times. Once you pointed out that mistake on my part and I corrected it, I was able to log in. Totally human error on my part.

I do have one question though, I saw this once but can't find it now, what file and setting do I need to modify to adjust the size of the backup? I've been bitten before by CrashPlan only backing up part of a collection because of that.

jlesage commented 6 years ago

Not sure to see what you are talking about. Normally there is no file that need manual modification.

PNMarkW2 commented 6 years ago

Things seem to be up and running for the first time since the start of Feb, and I thank you for the effort getting this up and running plus sharing it.

However, I now get this message regularly. I've looked for a file or setting that I could tweak, but I haven't found one yet. Any thoughts from the experts? I've found the program crashed a couple times and had to restart it. image

jlesage commented 6 years ago

Here you go: https://github.com/jlesage/docker-crashplan-pro/blob/master/README.md#crashes--maximum-amount-of-allocated-memory

buffoon commented 6 years ago

I've been attempting to get this running for about a week now with no luck. I hope I'm missing something simple here. I've deleted the container and the config multiple times and I'm always stuck on the screen with this prompt: capture

my docker run command is:

docker run -d --name=crashplan -p 5800:5800 -e USER_ID=65534 -e GROUP_ID=65534 -v /mnt/config/Docker/crashplan:/config:rw -v /mnt/config/Vault:/storage:ro jlesage/crashplan-pro

The only error in the service.log.0 is that it can't find the .ui_info file (it never deos get created):

[03.18.18 11:25:02.880 ERROR main ackup42.service.ui.UIInfoUtility] Unable to find a file to read the address, token, and port out of due to IO, check that the file is readable?, java.io.IOException: Unable to create parent folders for .ui_info file. folder=/.crashplan STACKTRACE:: java.io.IOException: Unable to create parent folders for .ui_info file. folder=/.crashplan at com.backup42.service.ui.UIInfoUtility.setUIConnectionDetails(UIInfoUtility.java:99) at com.backup42.service.CPService.writeUIInfoFile(CPService.java:1407) at com.backup42.service.CPService.start(CPService.java:668) at com.backup42.service.CPService.main(CPService.java:2064)

When I use the nslookup command I get this:

tmp # nslookup central.crashplanpro.com nslookup: can't resolve '(null)': Name does not resolve

Name: central.crashplanpro.com Address 1: 216.17.8.5 eam-msp.crashplanpro.com Address 2: 216.17.8.56 central.crashplanpro.com

service.log.0 file:

service.log

jlesage commented 6 years ago

Looks like a permission issue. Are you sure that the user you specified can write to /mnt/config/Docker/crashplan?

buffoon commented 6 years ago

As far as I can tell that user/group has full read/write/execute permissions to that folder. It is able to write all the other data in that directory.

jlesage commented 6 years ago

Can you provide the output of the following commands while the container is running (run on host):

docker inspect crashplan
docker exec crashplan cat /etc/passwd

Also, can you try to run the container without mapping /config?

buffoon commented 6 years ago

Thanks for looking into this. Here is the output of the inspect and cat commands: docker inspect.txt cat.txt

Without mapping the /config directory, I get the same result. The service.log.0 without mapping is here: service.log

jlesage commented 6 years ago

Ok I found a bug that cause the issue you are seeing. It is caused by the user ID you use, which matches another user in /etc/passwd. I will fix that. As a workaround, you can edit /defaults/passwd in the container and remove the line containing the user nobody (id 65534). Then restart the container.

buffoon commented 6 years ago

That did it thanks!

beBerlin commented 6 years ago

@excalibr18 I have reinstalled the container "jlesage / crashplan-pro". And previously deleted all folders.

I can also log in to https://web-eam-msp.crashplanpro.com/login/#/login?to=%2Flogin%2F%23%2Flogin.

And that's why I do not understand why I can not log in to the web GUI jlesage / crashplan-pro.

Who can help me?

jlesage commented 6 years ago

Can you clarify the issue? Which error are you getting exactly?

beBerlin commented 6 years ago

See photo in the link: https://www.dropbox.com/s/oqt0mgf3wze9i8z/Ohne%20Titel.jpeg?dl=0

jlesage commented 6 years ago

Can you provide the log/service.log.0 log file? You can find it on the host in the folder you used to map /config.

beBerlin commented 6 years ago

https://www.dropbox.com/s/w9kswibhqzsl3m1/service.log.0?dl=0 I hope that's the right file?

jlesage commented 6 years ago

On which system are you running the container? The problem seems to be that central.crashplanpro.com can't be resolved.

You can confirm if the host is able to resolve by running:

nslookup central.crashplanpro.com

And confirm if the container is also able to resolve (also run the command on the host):

docker exec <name of your container> nslookup central.crashplanpro.com
beBerlin commented 6 years ago

I use DS918 +. I did not understand the other instructions. can you put it another way? or help others?

jlesage commented 6 years ago

Are you able to access the NAS via SSH? You first need to enable the SSH service (https://www.synology.com/en-global/knowledgebase/DSM/help/DSM/AdminCenter/system_terminal) and then use PuTTY (https://www.synology.com/en-global/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet). Once connected, you will be able execute the 2 provided commands.

beBerlin commented 6 years ago

I have executed the commands. See image. https://www.dropbox.com/s/inocihhdmy1neen/Ohne%20Titel%203.jpeg?dl=0

bigtfromaz commented 6 years ago

This is bit of a guess but I see that from the DiskStation nslookup received it’s reply from a DNS server it reached using IPv6. If your container is connected to a bridge network, check to see if the bridge has IPv6 enabled.

From: beBerlin notifications@github.com Sent: Sunday, April 8, 2018 11:34 AM To: jlesage/docker-crashplan-pro docker-crashplan-pro@noreply.github.com Cc: Tom Hebert (HCI) tom.hebert@hebert-consulting.com; Comment comment@noreply.github.com Subject: Re: [jlesage/docker-crashplan-pro] Need basic help with installation - need more details (#34)

I have executed the commands. See image. https://www.dropbox.com/s/inocihhdmy1neen/Ohne%20Titel%203.jpeg?dl=0

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/jlesage/docker-crashplan-pro/issues/34#issuecomment-379571688, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHjxRuFsGZSdaxg3ZCo-ql4KqpjKIVSYks5tmlgBgaJpZM4RRA40.

jlesage commented 6 years ago

So at least we confirmed that the container is not able to resolve the DNS name. Can you provide the output of the following commands:

cat /etc/resolv.conf
docker exec crashplan-pro cat /etc/resolv.conf
beBerlin commented 6 years ago

Enclosed the commands:

https://www.dropbox.com/s/yyh2nd4swzy6ei5/Ohne%20Titel%204.jpeg?dl=0

jlesage commented 6 years ago

So it seems that DNS resolution has to be done over IPv6 on your network. And since IPv6 doesn't seem to be enabled for your container, it's not possible for the latter to reach CrashPlan's server. Which router are you using?

@bigtfromaz, is there a setting to enable IPv6 in Synology?

beBerlin commented 6 years ago

FRITZ!Box 6490 Cable

https://www.dropbox.com/s/7q5zjx7hvu4jps2/Foto%2011.04.18%2C%2006%2045%2002.jpg?dl=0

bigtfromaz commented 6 years ago

Yes. When you create a bridge network you can select “Enable IPv6” . It seems to require an IPv4 address range for all bridge networks. IPv6 is optional.

It appears that the Synology does not support autoconfiguration. So using a local subnet would be in order. Something like fd01:10:1000:1000::/64 would be in order. They call it a subnet but in context I think they mean prefix.

It also asks for an IP range which I suspect will be used as a pool of addresses to give to container that are added to the network. Here is an example of a 32 bit subnet carved out 64-bit prefix. An example here might be fd01:10:1000:1000:1000:1000::/32 . You could probably use the prefix for this as well.

The gateway must be set in the same subnet, something like be fd01:10:1000:1000::1 .

I haven’t played with this at all but it should work pretty much the same as an IPv4 bridge network. Synology support might be helpful in this regard.

With that said, it may be easier to use the host network rather than a bridge. The container should get a unique address and a correct gateway address when IPv6 autoconfigures. NAT is not used in IPv6. It should be secure.

@jlesage do know of a small container I can deploy with just linux/bash in order to do some testing???

Bigtfromaz

From: Jocelyn Le Sage notifications@github.com Sent: Tuesday, April 10, 2018 5:13 PM To: jlesage/docker-crashplan-pro docker-crashplan-pro@noreply.github.com Cc: Tom Hebert (HCI) tom.hebert@hebert-consulting.com; Mention mention@noreply.github.com Subject: Re: [jlesage/docker-crashplan-pro] Need basic help with installation - need more details (#34)

So it seems that DNS resolution has to be done over IPv6 on your network. And since IPv6 doesn't seem to be enabled for your container, it's not possible for the latter to reach CrashPlan's server. Which router are you using?

@bigtfromazhttps://github.com/bigtfromaz, is there a setting to enable IPv6 in Synology?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/jlesage/docker-crashplan-pro/issues/34#issuecomment-380286256, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHjxRoW1gC-BrTcpDIq5Rdd8fI9k0OStks5tnUp_gaJpZM4RRA40.

jlesage commented 6 years ago

@beBerlin, so it seems that your solutions are:

@bigtfromaz, you can use an ubuntu baseimage, like ubuntu:16.04. There is probably a baseimage for any distro you want.

beBerlin commented 6 years ago

Thank you for the great help. But I do not know how to make the settings.

bigtfromaz commented 6 years ago

I will try.

From you previous post I know that your container is not receiving a public address. Without one, it can't talk to the internet.

So I first want to confirm that your host machines are being assigned public addresses.

Let's start there. On your host machine, please run an ifconfig, or on a PC run an IPCONFIG command. One of my sandbox machines looks like this:

Ethernet adapter Ethernet 2:

Connection-specific DNS Suffix . : myDomain.com IPv6 Address. . . . . . . . . . . : 2600:8800:e00:1620:xxxx:xxxxxxxx:xxxx Temporary IPv6 Address. . . . . . : 2600:8800:e00:1620:5044:b90f:6577:7bc7 Temporary IPv6 Address. . . . . . : 2600:8800:e00:1620:9870:1209:40e9:9835 Link-local IPv6 Address . . . . . : fe80::c19b:5c07:fc1b:6489%12 IPv4 Address. . . . . . . . . . . : 192.168.x.x Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : fe80::1:1%12 192.168.x.x You will see addresses that begin with "f", e.g. fe80. These are private addresses and no traffic to or from those will traverse the internet. We first need to check that you are receiving a public address, e.g. 2600:8800:e00:1620:xxxx:xxxxxxxx:xxxx . In this case my ISP has assigned this 64-bit prefix to me. 2600:8800:e00:1620. It leaves me with 64 bits to use here for local subnets and addresses (about 4 gig).

Please run the ifconfig (Linux) or ipconfig (Windows) command on one or more physical machine and send the results.

damaverick82 commented 6 years ago

Hello,

I changes my crashplan pro installation on my Synology a few months ago from the Patters version to the lesage docker version.

Everything seems to work fine except for one thing. The docker instance seems to find a lot more data then possible. I have a 716+ Synology with 2 3TB disks in raid 1 with about 400GB of data. The lesage docker client from crashplan says it needs to backup 141TB of data and therefore never finishes. (even when I deselect a lot of data) The Patters version did see the right amount of data.

I already configured the docker from scratch. I even configured crashplan completely from scratch by removing everything online

jlesage commented 6 years ago

Did you mapped /storage/ to /volume1/ ? If yes, make sure you didn't selected any docker related folders.

jlesage commented 6 years ago

More specifically, /volume1/@docker should not be selected.

damaverick82 commented 6 years ago

Ah thanks, that did the trick for me. There was indeed a docker folder mapped. Although in my case is was on volume2 :)

beBerlin commented 6 years ago

@bigtfromaz I used Mac, what's the command on the Mac? with "ipconfig" appears: "usage: ipconfig where is one of waitall, getifaddr, ifcount, getoption, getpacked, getv6packet, set, setverbose "

jlesage commented 6 years ago

@beBerlin, is your Synology also act as your DNS server? If yes, check https://github.com/jlesage/docker-crashplan-pro/issues/79

bigtfromaz commented 6 years ago

I not a Mac expert but I suspect the command would be ifconfig: []https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/ifconfig.8.html

Do check out #79 but also send the listing I requested above. If you only have IPv6 then, unless you have a static prefix, you will want to use the host network rather than a bridge network. IPv6 does not use NAT so you can't access the internet with a private address.