Running Crashplan on a Headless Server is Officially Unsupported
A while ago my Crashplan installation stopped working (probably became out of date) and I’ve recently migrated the rest of my services and applications over to Docker containers, which I have been very happy with. So I didn’t anticipate too much trouble when trying to move Crashplan into a docker container as well, however I was running into difficulties because Crashplan requires the GUI for configuration. The xeor/crashplan (https://hub.docker.com/r/xeor/crashplan/) image seemed like the perfect fit, it would make Crashplan Desktop accessible via VNC. However after fiddling with this, it turns out Crashplan has made some updates which has broken this image.
And it’s clearly not a priority for them to properly document because I couldn’t even manage to get their published (year old) instructions (https://support.code42.com/CrashPlan/4/Configuring/Using_CrashPlan_On_A_Headless_Computer) working. Even if I managed to get this working, the workflow was not ideal, requiring port forwarding and copying data from the server to local PC that seems to change every time the service restarts – a much more kludgy process than I remember going through last time, which only involved updating the IP on a Windows PC to point to the remote headless machine.
Recommendation: Use X11 Forwarding
X11 forwarding is simple to setup and it allows Linux GUI windows from a remote machine that you are SSH’d into to be displayed on your local machine. I went ahead and installed Crashplan natively on my Ubuntu server and followed the steps below to get it installed on Ubuntu and configured remotely from my Windows machine.
- Download the latest Crashplan Linux installer
- Unzip the package
tar -xvf CrashPlan_4.5.0_Linux.tgz
- Go into the installation directory and run the install command
- Follow the installation steps and proceed as you wish. I used the default installation options.
Configure Ubuntu Server for X11 Forwarding
- Install xterm if it’s not already installed
sudo apt-get install xterm
Note: If at the end of this guide you are having any troubles, there are a ton of guides on setting up X11 so I suggest reviewing those to make sure the rest of your Ubuntu SSH settings are configured properly.
Configure Windows PC for X11 Forwarding
- You will first need an SSH client, for this I suggest Putty (http://www.putty.org/)
- You will also need an X Windows System. There are also multiple options but I used Xming (http://sourceforge.net/projects/xming/)
- Open Putty and fill in the Hostname/IP of your server and make sure SSH and PORT 22 are specified.
- Next, go to the Connection > SSH > X11 option in the Category tree and check “Enable X11 forwarding”
- Then hit open and login to your machine.
- You can test that X11 forwarding is working by opening an application like firefox or just go straight ahead and launch the Crashplan UI by typing `CrashPlanDesktop`. Wait a few seconds and the welcome screen should pop up.
Configure Crashplan Normally
Now that you have the Crashplan UI displayed, you can login normally and specify the directories that you want to backup. You’ll now have the same level of control that you’d typically have from a PC with a GUI.
During my research I encountered a lot of people trying to get Crashplan working with Unraid as well, maybe one day Crashplan will develop a WebUI for those of us running servers or NAS’s, but if you haven’t chosen a cloud backup provider already, I’d suggest looking at others that are more Linux-friendly. Until then, its a simple enough process to launch Xming, SSH into my server and run a single command.