In this tutorial I’ll show you how I’ve configured CrashPlan as a disaster recovering solution running headless on my XPenology.
It’s quite disappointing that CrashPlan or Synology doesn’t offer a supported version of CrashPlan. Luckily this gentleman at PCLoadLetter has prepared an excellent packages and can be easily be installed using his repository. This guide will not only cover the installation, but also how to configure CrashPlan in order to be able to handle large volumes without crashing/disconnecting. Please note that this will require you to buy a subcription from CrashPlan. Personally I use the Individual (Unlimited data) plan since all upload is synced from my XPenology anyway.
Download Java Manager
Since CrashPlan is a JAVA-based application you will need to install the Java Manager package from the original Synology repository. Once downloaded open the Java Manager, click on Upgrade Java and carefully follow its instructions to install the latest version.
Add the PCLoadLetter repository
The easiest way of installing CrashPlan is using the PCLoadLetter repository. First, you will need to open the Package Center, go to Settings and check Any publisher under the Trust Level. Before you do this you will not be able to install any apps from outside the default repository. Next select the Package Source tab in the Settings dialog and click on Add.
Use the following information to add the new repository and click OK and OK when done.
You may have to click on Refresh in the Package Center in order to refresh the apps and then go to the Community section in order to view third party apps such as CrashPlan. From here click on CrashPlan (please note that there are different versions depending on your subscription) and select Install. Follow the on screen instructions to install the package. The installer should tell you that you will have to restart the package once in order to get it working.
Install the CrashPlan client
Since CrashPlan runs headless, we will need to install a client and connect to it in order to configure and use it. In this guide I’ll use my Windows 10 client, but all the settings should be the same regardless of your operating system.
Download the correct version of the CrashPlan client suited for your operating system and install it as usual. When the install is done do not run CrashPlan just yet as we will need to modify some settings in order to connect to our headless setup.
Configuring the CrashPlan client
This part may be a bit tricky. First we will need to specify the IP-address to our XPenology or Synology server in the ui.properies file located at C:\Program Files\CrashPlan\conf\ui.properties or C:\Program Files (x86)\CrashPlan\conf\ui.properties. Open this file, remove the # before serviceHost and add your IP-address such as serviceHost=192.168.1.234. This will tell CrashPlan that we want to connect to headless client instead.
The second change involves getting a unique id from our headless client and downloading that file from our server to our client. If you are on Windows I suggest using WinSCP for this step (or any other SCP-compatible software). Open WinSCP, select the SCP protocol, enter your servers IP-address, username (root) and password and hit Login. The file we are interested in is located at /var/lib/crashplan/.ui_info. Navigate to this folder and download the file to C:\ProgramData\CrashPlan\.ui_info overwriting the existing file.
The third step is optional, but critical if you are planning to sync a lot of files. CrashPlan will use quite a lot of memory per TB you intend to sync. While still connected with WinSCP you may want to edit the file located at /volume1/@appstore/CrashPlan/syno_package.vars, remove the # in front of USR_MAX_HEAP and set it to something higher then 1024M. This depends on how much memory your Synology has or how much memory you have assigned your VM if you are virtualizing XPenology. In my case I’m syncing about 10TB to CrashPlan, assigned 10GB of memory to my VM and set USR_MAX_HEAP=3000M. It’s worth mentioning that this file will survive package upgrades so you shouldn’t need to update the file after updating the package.
It’s also worth mentioning that some guides may tell you to edit run.conf located at /volume1/@appstore/CrashPlan/bin/, but that shouldn’t be done as this file will be reset upon restart and the values are calculated based on USR_MAX_HEAP.
Running the CrashPlan client
It’s time to start the client and if everything was done correctly it should now automatically connect to your headless server. Now you just have to follow the on-screen instructions to configure CrashPlan. You will need to enter the license information, setting an encryption key and telling CrashPlan what to sync.
If you struggle to connect to the headless server I suggest to do the following:
- Verify that the package is running. If there is any issue the package will be stopped automatically and you won’t be able to turn it back on until you have resolved the issue. In such cases leave me a comment and I may be able to help you out and update this post.
- If the package is running you have to make sure that you are using the same version of CrashPlan both on the server and client. Check the logs in the Package Center and match the version with the client you have installed on your computer to make sure they are identical.
- If you still are not able to connect the issue normally is that the content of .ui_info doesn’t match the signature on the server. Try following this guide once more and make sure you download the file overwriting the file on the desktop.
Are you running CrashPlan or do you have any issues?
Let me know in the comment below.