Advertisement

CrashPlan PRO / CrashPlan for Small Business using Docker on Synology (March/2018)

Affiliate Links

Docker has become a very good solution, easy to implement, to get CrashPlan PRO running without all the fuss of the adapted SPK package made available and maintained by the awesome patters.

There are multiple advantages of using Docker:

  • CrashPlan PRO’s install is not considered headless (you can access it via web GUI or a VNC client)
  • It should handle updates somewhat more smoothly.
  • Docker allows you to limit resources attributed to the container, which will (hopefully) make CrashPlan’s resource consumption more manageable.  Synology’s linux distribution does not allow resource limitation, so that feature is useless. So you’re only able to limit the RAM usage by using the docker environ variable, as explained in the guide below.

 

I’m opting to try this out on my 2Gb DS412+ instead of using CrashPlan Pro 4.9 with blocked upgrades because I guessing it’s not behaving very well (backups not being properly done).

Here are the instructions, assuming you have SSH access enabled:

  1. Open Package Center, search for “Docker“, install the package and make sure it is running.
  2. A Docker icon will now be found in DSM’s launcher and you might want to drag it onto the desktop. Launch the app.

  3. Press Registry and enter “CrashPlan” in the Search box. Look for “jlesage/crashplan-pro“, select it, and press the Download button.

  4. A notification bubble will appear in the left side menu, under Image, where you will be able to see the download progress.
  5. Open File Station, go to the docker shared folder, and create appdata/crashplan folders inside

    Addendum: Note that the reason why we’re using SSH from hereon is because we want the container to access volume1 and that cannot be done (AFAIK) from DSM. But you can use the Docker app for creating the container using the applicable recommendations below, and adding the paths accessible via DSM that you need to make available to CrashPlan.

  6. Access your Synology via SSH, and issue sudo -i for root access. From here:
    1. You’ll need to initialise the Docker instance, by setting some parameters. The complete command list is available at the docker package github page. Here’s what I’m using:
      1. -e USER_ID=0 -e GROUP_ID=0 : user is root
      2. -e CRASHPLAN_SRV_MAX_MEM=1600M : sets the Java max heap size to 1600MB (change as necessary, using M for Mb or G for Gb as a suffix)
      3. -e SECURE_CONNECTION=1: for HTTPS access to the GUI, remove if you plan on using just HTTP
      4. -e VNC_PASSWORD=[YOUR-GUI-PASSWORD-HERE]: Use if you want a password to access the GUI
      5. --restart always: makes your container restart if the NAS restarts.
      6. -p 5800:5800: port to be used for GUI web interface access
      7. -p 5900:5900: por for GUI web interface access via VNC protocol (unnecessary if not used).
    2. Here’s the command to be issued with all the previous parameters considered:
      docker run -d \
      --name=crashplan-pro \
      -e USER_ID=0 -e GROUP_ID=0 \
      -e CRASHPLAN_SRV_MAX_MEM=1600M \
      -e SECURE_CONNECTION=1 \
      -p 5800:5800 \
      -p 5900:5900 \
      -v /volume1/docker/appdata/crashplan:/config:rw \
      -v /volume1/:/volume1:ro \
      --restart always \
      jlesage/crashplan-pro
    3. If it runs properly you should see an hash string and the container should now be running on the Docker DSM interface.
  7. You can now go to your browser and open your CrashPlan web GUI interface to finish the setup (notice the menu bar for Copy/Paste if needed):
    https://your-local-nas-url:5800/
    or http:// if you have not used SECURE_CONNECTION=1
  8. After you sign-in, remember you’ll need to adopt the last backup, to resume backup normally. This will be made as an option right after you login through the web GUI interface, and it will be in the fashion of Replacing an Existing Device. and then choosing Skip Step 2 – File Transfer . After this is done CrashPlan may state it cannot find the locations for backed up folders (in my case it worked just fine as is), and here’s where you will point those to their location in the NAS.

 

One of the nice touches this solutions adds is that you can now easily see what the actual RAM usage is by the CrashPlan instance from the DSM Docker interface, in a much nicer way.

 

Final Notes:

  • The file / folder area of the GUI web interface is scrollable, and you probably need to scroll down before finding “volume1
  • You can rename your backup sets and device as well via the GUI.
  • To access the internal command line press (full command list here): Ctrl+Shift+C
  • In my personal case I had to launch backup.scan so that the file selection was actually populated.

Upgrading the Container:

  • If you’re looking on how to upgrade your Docker container and how to keep updated on container updates check this article here.

 

Optimisations:

  • There’s a known issue for very large file sets, where you have to edit the/etc.defaults/sysctl.conf file to allow for more than the default setting (1.048.576 files). This file is probably going to be reset with DSM upgrades. Add this to the file:
    fs.inotify.max_user_watches=1048576
  • A possible solution for this is to create a new Scheduled Task in DSM to make add this line to that file

 

 

 

 

Advertisement

Here's what other Users are reading:

Affiliate Links
Advertisement