CrashPlan is very popular for backing up NAS solutions. This post outlines the process for installing and configuring CrashPlan on a NAS in a Docker container and controlling it remotely from a CrashPlan Client.
The whole process is made easy due to the Docker technology however some tinkering is neccessary in order to successfully backup large amount of files and manage CrashPlan remotely. Once it’s setup, it is very easy to backup several TB of data, even from other servers.
For a guide to install Crashplan as a regular Synology Package, follow this link.
I’m totalling around 4TB of data of CrashPlan data.
My backup scenario is the following:
CrashPlan service is running on a NAS. |
Download a crashplan image from the Docker Hub
I’ve chosen this release: https://github.com/JrCs/docker-crashplan
Create and start container
Since we are mapping volumes below the docker path, we need to do this outside of the Synology UI using SSH.
Login to your Synology via SSH and sudo up.
sudo -i |
Enter the docker run command
docker run -d --name jrcs-crashplan \ |
I always prefer to keep the configuration outside of the container to easily be able to upgrade in the future and also to be able to backup easily. Note my local path (/volume4/docker/crashplan/data) where “docker” is a shared folder.
Container is visible in the Synology UI
Overview of container up and running
Locate the server .ui_info file
This configuration file is located in the id/ folder.
Copy .ui_info
The .ui_info file contains the port number and the key which are needed to be entered into your local .ui_info file.
cat .ui_info |
The local CrashPlan client read the settings from a local .ui_info file.
On my mac, it is located at: /Library/Application Support/CrashPlan
Local .ui_info file
Paste in the port number and the key. Make sure the ip address points to your docker host.
Save and quit and then fire up the CrashPlan client.
Set Max Heap memory
Depending on how many files you need to scan and backup, you made need to increase the Java Max Heap. If the CrashPlan unexpectedly crashes when running, the Heap is most likely the culprit. You usually notice this when CrashPlan notices you of Backup outages.
I’ve set the max heap size to 3GB
Sign in to CrashPlan
Either create a new account or login using an existing account. You may adopt an earlier backup.
Adopt a previous computer
Select previous computer name
Data Key Required
You must enter the correct encryption key. Earlier when entering an invalid key, the whole previous backups were lost, hopefully they have fixed that issue.
Adoption Complete!
After successfully having entered the encryption key, Crashplan will start to synchronize with existing backups.
Disable CrashPlanService on OSX
When you install CrashPlan on your local machine, the setup will install both a client and a server. To disable the unused service on OSX, follow these steps.
- See if the service is running:
ps aux | grep CrashPlanService |
- Disable service:
sudo launchctl unload /Library/LaunchDaemons/com.crashplan.engine.plist |
- Verify the service is not running anymore:
ps aux | grep CrashPlanService |
- Delete the launch control plist so the CrashPlanService doesn’t reload the next time OSX is restarted:
sudo rm /Library/LaunchDaemons/com.crashplan.engine.plist |
Backing up mounted remote folders
I have a TimeMachine service running on a second NAS which is used by some of our laptops. In order to include this folder in my CrashPlan backups, I mount the remote folder locally and include it in my CrashPlan schedule.