As of 2017-August-22, Code42 no longer offers CrashPlan for Home. Existing subscriptions will be honored through October of 2018 (see this announcement for more information).
Running CrashPlan from a NAS has always been a neglected use case from a support perspective, so this move isn't all that surprising. Still, this leaves a question for those of us currently relying on CrashPlan for Home... what do we do instead?
Like many of you, I'll be revisiting other backup options that I previously rejected and many new ones that have arisen over the past few years.
FernandoMiguel has created an excellent sheet comparing various cloud backup/storage offerings. I hope that it is useful to the rest of you who are planning your migrations.
This is an attempt to get CrashPlan running on a Synology NAS inside a Docker container. It has been tested successfully in the following configurations:
DSM Version: 6.0-7321
Device | RAM |
---|---|
Synology DS713+ | 4GB |
Synology DS412+ | 2GB |
I have been running the PC Load Letter CrashPlan Packages for a long time. They certainly made it much easier to deal with CrashPlan updates, but it was still fairly common for me to have issues after new releases. When I had issues with the 4.4.1 release, I decided to see if Docker would be a smoother way forward.
This documentation assumes that:
Before trying to run CrashPlan in a Docker container, it's a good idea to:
git
installed, install the ipkg
package manager and install it.ln -s /root/crashplan-docker-synology/S99crashplandocker.sh /usr/local/etc/rc.d/S99crashplandocker.sh
cp /root/crashplan-docker-synology/cp-user-vars.sh /root
/root/cp-user-vars.sh
/usr/local/etc/rc.d/S99crashplandocker.sh start
to start the container./usr/local/etc/rc.d/S99crashplandocker.sh status
to see the running state of the container
/usr/local/etc/rc.d/S99crashplandocker.sh status
for details about the running CrashPlan instance.The CrashPlan service running in your Docker container will update itself automatically. However, follow the steps below to make sure the Docker image is up to date.
To check for updates to the Docker image, run docker pull ajkerrigan/crashplan
If the image was updated, run /usr/local/etc/rc.d/S99crashplandocker.sh recreate
to create and start a container based on the new image.
Note: It's a good idea to run the steps above after upgrading DSM (for example, after moving from DSM 5.2 to 6.0).
This script can be customized to suit your specific needs. Customization is done within the cp-user-vars.sh
file which should be located in /root
. The options most likely to need tweaking are:
USER_VOLUMES
: The -v
options passed to the docker run
command. These control the paths that will be mounted inside the container. CRASHPLAN_DIR
: The CrashPlan home/installation directory. When switching from an existing install of CrashPlan, pointing this variable to your current installation may avoid the need to "adopt" the previous installation from
the CrashPlan client.DATA_DIR
: The destination for incoming backups. Setting this to a data directory from an existing installation will save some time synchronizing backup progress.Because this script sets up mounted volumes that are not accessible from the DSM GUI, trying to manage this container from the Synology Docker GUI will break it. Checking status and resource utilization with the GUI is fine, but trying to start the container from the GUI will break the volume configuration.
If that happens, remove the container and run /usr/local/etc/rc.d/S99crashplandocker.sh start
again to set it up anew.
Anytime the container stops and restarts, it's going to overwrite the .ui_info
file. That file contains an authentication token GUID that needs to be the same on the CrashPlan Desktop client and the server. Before trying to start your CrashPlan client, run /usr/local/etc/rc.d/S99crashplandocker.sh status
and take note of the Auth Token
. Use that to update the .ui_info
file on your client machine.
See CrashPlan's documentation for headless computers for more information.
gfjardim's Docker Image for CrashPlan (https://hub.docker.com/r/gfjardim/crashplan/)
was an excellent starting point. I forked it into the ajkerrigan/crashplan
image
with the expectation that I'd tweak things as I went along.
patters over at PC Load Letter is a damn hero. He has been wrestling with getting CrashPlan to work on Synology devices for years, and has done a lot of work so that people like me could be lazier. He accepts donations, and damn well deserves them. His CrashPlan packages are the only reason I haven't given up running CrashPlan on my NAS by now.
Scott Hanselman's blog post is an excellent walkthrough of getting CrashPlan installed and running. His post is very readable and supported by plenty of screenshots.