This is a Dockerfile to set up Crashplan.
First create a data-only volume for the CrashPlan software to live along with it's cache and logs. This is necessary to make sure you receive all the automatic updates and to retain program status between runs:
docker run -v /opt/crashplan --name crashplan_data busybox /bin/true
Now build the Docker image:
docker build --rm -t crashplan .
On the first run, CrashPlan will be installed to the data-only volume at /opt/crashplan. Mount whatever backup volumes are desired using -v (or --volumes-from if the data is in a container). Systemd service file is also available.
docker run -h <host_name> -d --volumes-from crashplan_data -v /mnt/backup:/mnt/backup -p 4243:4243 -p 4242:4242 --name crashplan_run crashplan
On the client, follow the instructions for running a headless client using SSH. To summarize:
# sed -i 's/.*servicePort.*/servicePort 4200/' /opt/crashplan/conf/ui.properties $ ssh -fNL 4200:localhost:4243 homeserver $ CrashPlanDesktop