Page 1 of 1

Very disappointed that I cannot use CrashPlan anymore - or is there still hope?

Posted: Wed Jan 31, 2018 11:29 am
by hinghenry
I paid for CrashPlan PRO in April 2017, but it has not been a good experience with my Asustor.

I only know later that CrashPlan is not actually supporting NAS (despite it has made an official app for Asustor). The workaround desktop app is buggy, needing to manually edit the .ui.info so many times. The backup frequently stopped and I have to log in frequently to check its progress. I cannot backup more than 1TB of files (due to my 202TE having only 1GB RAM). It took 6 months to backup my 1TB of files.

After finally backuped all my 1TB files in early November 2017, I found that CrashPlan/Code42 has been changing business model and now the CrashPlan desktop app is replaced by Code42 app. Since the Asustor-side app is not going to be updated in the foreseeable future, I can no longer find ways to backup my files in Asustor to CrashPlan. I guess this is the end of my time with CrashPlan.

In other words, the effort paid to upload my files and the money paid to CrashPlan are all for nothing. A online backup solution need to be stable, reliable and long-lasting. I figure that such backup solution won't come cheap, at least not for a reliable backup service.

Anyone has similar experience? Is there still hope for a workaround? Anyone has found other reliable online backup method? If I cannot find any good alternative, I guess I'll just stick with "backup once a month to external drive and keep the backup in office" method.

Re: Very disappointed that I cannot use CrashPlan anymore - or is there still hope?

Posted: Sun Feb 18, 2018 12:46 pm
by sillysheep
I'm using docker (via docker ce/shipyard) to load this docker image:

https://hub.docker.com/r/jlesage/crashplan-pro/

Using this, it seems like I can use crashplan pro just fine instead of waiting for an AppCentral app. I'll give it a week and see.

Re: Very disappointed that I cannot use CrashPlan anymore - or is there still hope?

Posted: Sun Feb 25, 2018 12:19 pm
by sillysheep
Update: Seems like Crashplan Pro is working for me now with docker. Here is generally how I did it.

Before you start, make sure any NAS VPN connection is DISABLED. I had an active OpenVPN connection the first time I tried this and it caused me problems connecting to shipyard and the container.

1: Install Shipyard. App Central will also ask you to install the docker-ce dependency.
Screenshot-2018-2-24.png
Screenshot-2018-2-24.png (367.47 KiB) Viewed 20728 times
2: Open Shipyard by following the directions in the shipyard app:
Screenshot-2018-2-24_2.png
Screenshot-2018-2-24_2.png (395.33 KiB) Viewed 20728 times
3: Pull "jlesage/crashplan-pro" image using Shipyard. The response is not obvious. So, you may need to either wait a few minutes or retry a couple times.
Screenshot-2018-2-24_3.png
Screenshot-2018-2-24_3.png (92.31 KiB) Viewed 20728 times
4: Deploy the container using the "jlesage/crashplan-pro" image:
Screenshot-2018-2-24_4.png
Screenshot-2018-2-24_4.png (123.54 KiB) Viewed 20728 times
You can also add environment variables to your liking based on the Environment Variables documentation here:
https://hub.docker.com/r/jlesage/crashp ... -variables
I modified things like timezone, screen size, and app_niceness.

5: If you're successful at this point, Crashplan-pro is running! You can go to http://<nas_ip>:5800 and login to see it running like this:
Screenshot-2018-2-24_5.png
Screenshot-2018-2-24_5.png (40.06 KiB) Viewed 20728 times
After this, you'll need to migrate your existing backup. I wasn't successful with deduplication and ended up having to upload everything again. But you may have better luck than me. I tried to follow these directions called "Taking Over Existing Backup":
https://hub.docker.com/r/jlesage/crashp ... ing-backup

As a bit of guidance to help with your deduplication efforts, this is generally what the container sees:
Screenshot-2018-2-24_6.png
Screenshot-2018-2-24_6.png (88.39 KiB) Viewed 20728 times
The items highlighted in red map to a real location on your Asustor NAS. So pick your host mapping carefully. I don't think you can change the container paths (i.e. /config, /storage) and have the container run correctly. All the other paths in the container seem virtual and don't really point to anything of relevance on your NAS.

Feel free to ask questions if you need clarification. This wasn't too easy for me to get right the first time and I think doing it a couple times penalized me and cost me time to resubmit my backup from scratch.

Re: Very disappointed that I cannot use CrashPlan anymore - or is there still hope?

Posted: Thu Jun 21, 2018 4:43 am
by njhorn
Did you ever get it working with a vpn?

Re: Very disappointed that I cannot use CrashPlan anymore - or is there still hope?

Posted: Tue Jul 03, 2018 11:05 am
by sillysheep
Yes. But I ended up removing shipyard completely. I'm only using docker-ce now with shell scripts. It seems to work well enough with just docker commands. One of the bugs with docker is that the firewall rules periodically gets deleted. So I have to restore them periodically so that I can remotely connect to crashplan.

Here's the script I use to update/install crashplan-pro:

Code: Select all

#!/usr/bin/env sh
#
# Update crashplan pro docker container
#

docker stop crashplan-pro
docker rm crashplan-pro
docker rmi jlesage/crashplan-pro
docker pull jlesage/crashplan-pro
docker run -d --name=crashplan-pro -e TZ=America/Los_Angeles -e KEEP_APP_RUNNING=1 -e APP_NICENESS=1 -e DISPLAY_WIDTH=1280 -e DISPLAY_HEIGHT=720 -e ENABLE_CJK_FONT=1 -e CRASHPLAN_SRV_MAX_MEM=6G -v /volume1/mypath/config_folder:/config:rw -v /volume1/my_root_folder_to_backup:/storage:ro -p 5800:5800 -p 5900:5900 jlesage/crashplan-pro
Feel free to adjust to your preferences.

Here's the script I use to restart the crashplan container if it suddenly dies:

Code: Select all

#!/usr/bin/env sh
#
# Restart crashplan pro docker container
#

docker stop crashplan-pro
docker rm crashplan-pro
docker run -d --name=crashplan-pro -e TZ=America/Los_Angeles -e KEEP_APP_RUNNING=1 -e APP_NICENESS=1 -e DISPLAY_WIDTH=1280 -e DISPLAY_HEIGHT=720 -e ENABLE_CJK_FONT=1 -e CRASHPLAN_SRV_MAX_MEM=6G -v /volume1/mypath/config_folder:/config:rw -v /volume1/my_root_folder_to_backup:/storage:ro -p 5800:5800 -p 5900:5900 jlesage/crashplan-pro
When my iptables gets wiped out for random reasons, this kills docker's crashplan fw rules. So after I restart crashplan, I run...

Code: Select all

iptables -S
to get the list of commands that I need to run to restore the iptable rules. Using this command, I compare the broken table with the fixed table and create a restore_iptables.sh with the following, for example:

Code: Select all

Broken table
-P INPUT ACCEPT
-P FORWARD DROP
-P OUTPUT ACCEPT
-N DOCKER
-N DOCKER-ISOLATION
-N DOCKER-USER
-A INPUT -j ACCEPT

Code: Select all

Working table
-P INPUT ACCEPT
-P FORWARD DROP
-P OUTPUT ACCEPT
-N DOCKER
-N DOCKER-ISOLATION
-N DOCKER-USER
-A INPUT -j ACCEPT
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER -d <some_subnet> ! -i docker0 -o docker0 -p tcp -m tcp --dport 5900 -j ACCEPT
-A DOCKER -d <some_subnet> ! -i docker0 -o docker0 -p tcp -m tcp --dport 5800 -j ACCEPT
-A DOCKER-ISOLATION -j RETURN
-A DOCKER-USER -j RETURN
Final script after diffing the 2

Code: Select all

#!/bin/sh

iptables -A FORWARD -j DOCKER-USER
iptables -A FORWARD -j DOCKER-ISOLATION
iptables -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -o docker0 -j DOCKER
iptables -A FORWARD -i docker0 ! -o docker0 -j ACCEPT
iptables -A FORWARD -i docker0 -o docker0 -j ACCEPT
iptables -A DOCKER -d <some_subnet> ! -i docker0 -o docker0 -p tcp -m tcp --dport 5900 -j ACCEPT
iptables -A DOCKER -d <some_subnet> ! -i docker0 -o docker0 -p tcp -m tcp --dport 5800 -j ACCEPT
iptables -A DOCKER-ISOLATION -j RETURN
iptables -A DOCKER-USER -j RETURN
To find out whether to restart crashplan or just restore iptables, I run the following:

Code: Select all

docker ps
If my crashplan container is listed, I simply run the iptable script to restore the fw rules. If no container is listed, I run my restart_crashplan script.

Honestly, this is rather annoying. So, I'd prefer to have the docker app fixed such that the rules don't keep getting wiped out. But I'll have to workaround it using these scripts in the meantime.

Re: Very disappointed that I cannot use CrashPlan anymore - or is there still hope?

Posted: Sat Jul 21, 2018 12:31 pm
by sillysheep
Just wanted to give an update because Asustor recently updated Docker to a fairly recent version: 18.01.1r1 as of this post date.

This is significant because this new version will prevent the CrashPlan Pro image from accessing the Internet. The main reason for this from what I can tell is because this version of docker is started with the option "--iptables=false".

The reason for this is apparently to allow VPN connections on the Asustor work. The problem is that installing a Crashplan Pro container requires modifying iptable rules.

For my situation, I'd rather have a working Crashplan Pro than a working VPN connection. So, to allow Crashplan Pro to work again, I modified the following files:

/volume1/.@plugins/AppCentral/docker-ce/CONTROL/start-stop.sh

In this file, you'll see the following entry:

Code: Select all

# disable iptables forward for vpn connection
DOCKERD_OPT="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 -g /usr/local/AppCentral/docker-ce/docker_lib/ --iptables=false"
Simply remove the "--iptables=false" option, reboot the system, reinstall Crashplan Pro using the scripts I had provided earlier, and Crashplan should be working again.

Oh, just as an FYI, I use OpenVPN on my Asustor NAS and it still seems to work after this change. So, I'm not sure what "VPN fix" they were trying to address when they set --iptables=false.