I won't be updating this for CrashPlan 6+ because the system now heavily relies on Gnome/Linux components/libraries. I have cancelled my plan with CrashPlan and shutdown my Jail even though 4.9 will continue to work; I don't want to support terrible software any longer.
Currently installs CrashPlan PRO 4.9.0 build 33 and TigerVNC with noVNC HTML5 viewer!
For this to work, you need to enable Linux Binary Compatibility on your FreeNAS system, and reboot for the OS to load the linux compatibility kernel modules. This is also done within the Jail, but it won't work unless you do it on the main OS too.
The default VNC password is 'crashplan'.
This Jail makes use of VNET emulated/virtual network interfaces rather than sharing your main interface; this is needed for proper port forwarding situations, but may not be required as this Jail is tested more.
The jail mounts crashplan/bin, crashplan/conf, crashplan/id, crashplan/cache and crashplan/log outside of the jail for persistent storage of the Crashplan files. The jail also mounts portsnap/ports and portsnap/db outside of the jail for persistent storage of the Ports files; useful when you're building things over multiple jails.
These persistent jail mounts are technically optional as the installation or OS will create them as needed, but they will become part of the jail and lost if the jail is destroyed, resulting in a complete re-configure of CrashPlan on the next build of the jail. If you chose to not use persistent jail mounts, remove them from the crashplan_jail.sh before running and only mount your path(s) that you want to backup.
If the Desktop application complains about not being able to connect to the back end service, this is likely a DNS resolution issue - the Desktop app tries to connect to the hostname of the jail instead of the IP address. Register a DNS record at your router and things should work - an /etc/hosts entry should too.
- FreeNAS Changes, System->Tunables -> Add Tunable:
- Variable "linux_enable", Value "YES", type "rc.conf".1
- Variable "ifconfig_bridge0", Value "addm [NET_INTERFACE_NAME] up", type "rc.conf".2
- Variable "net.inet.ip.forwarding", Value "1", type "Sysctl".2
- Variable "net.link.bridge.pfil_onlyip", Value "0", type "Sysctl".2
- Variable "net.link.bridge.pfil_bridge", Value "0", type "Sysctl".2
- Variable "net.link.bridge.pfil_member", Value "0", type "Sysctl".2
- Reboot FreeNAS for these changes to take.
- Optional: Change the VNC password value located at the very bottom of CrashPlanPro_FreeBSD_vnc_install.csh.
- Decide where the persistant storage paths will go and update the paths within crashplan_jail.sh
- Update the IPs within crashplan_jail.sh (CRASHPLAN_IP and DEFAULT_GW_IP)
- Place all of the files with in the bin directory of this repo within the crashplan/bin directory before you run the main jail script.
- Put crashplan_jail.sh somewhere accessible on your FreeNAS system and run it.
- VNC will be available at http://[CRASHPLAN_IP]:4280/vnc_auto.html
- Disable VNC auto-start:
- Run
iocage exec crashplan sysrc -f /etc/rc.conf vnc_enable="NO"
- Run
- Manually start VNC:
- Run
iocage exec crashplan service vnc start
- Run
- Restart VNC:
- Run
iocage exec crashplan service vnc restart
- Run
- Restart CrashPlan back-end:
- Run
iocage exec crashplan service crashplan restart
- Run
- Restart entire jail:
- Run
iocage restart crashplan
- Run
- Change VNC password:
- Run
iocage exec crashplan /opt/vncpasswd/vncpasswd.py -f "/root/.vnc_passwd" -e "NewPa55worD"
- Run
- Stuck Backup / High CPU:
- Maybe lack of memory. Edit bin/run.conf and modify the SRV_JAVA_OPTS to have a higher Xmx value, like 2048m instead of 1024m.