Crashplan Pro
Crashplan Pro (For Small Business) is now the only consumer level option for crashplan.
Ansible Role: crashplan
Pay attention to basic configuration steps to correctly adopt existing backup sets.
If using LXC containers, you must run as privileged (
unprivileged: 0
) or useidmap
to map all permissions to the container; otherwise mounted data will appear empty.Run Crashplan as root to be able to read/backup all files.
Mount filesystems to backup read-only to prevent data loss.
Mount filesystems to backup under
/
, such as/data
. This will allow for container migration to other machines without destroying backup sets, and keep it idempotent from the container OS.Increase Inotify Limits to prevent warnings.
See minimum requirements in Defaults.
Warning
Read Backup set Adoption to adopt existing backup sets without losing data.
# Crashplan
Crashplan installation from public release tarball.
## Requirements
Pre-existing crashplan.com account. Approximately 1GB of RAM per 1TB for
largest backup set.
## Role Variables
Settings have been throughly documented for usage, including version updates.
[defaults/main.yml](https://github.com/r-pufky/ansible_crashplan/blob/main/defaults/main/main.yml).
### Ports
All ports and protocols have been defined for the role.
Hosts should only define firewall rules for ports they need.
[defaults/ports.yml](https://github.com/r-pufky/ansible_crashplan/blob/main/defaults/main/ports.yml).
## Dependencies
N/A
## Example Playbook
host_vars/crashplan.example.com/vars/crashplan.yml
``` yam
crashplan_memory: 6144
```
site.yml
``` yaml
- name: 'crashplan server'
hosts: 'crashplan.example.com'
become: true
roles:
- 'r_pufky.crashplan'
```
## Issues
Create a bug and provide as much information as possible.
Associate pull requests with a submitted bug.
## License
[AGPL-3.0 License](https://github.com/r-pufky/ansible_crashplan/blob/main/LICENSE)
## Author Information
https://keybase.io/rpufky
None
Role Details: Updated: 2022-10-08 galaxy source service docs
Ports
---
###############################################################################
# Ports Configuration
###############################################################################
# Ports should be managed externally via an OS role.
#
# Reference:
# * https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html
ports:
- {proto: 'tcp', from_ip: 'any', to_port: 443, direction: 'in', comment: 'code42 console'}
- {proto: 'tcp', from_ip: 'any', to_port: 4285, direction: 'in', comment: 'crashplan service (console)'}
- {proto: 'tcp', from_ip: 'any', to_port: 4287, direction: 'in', comment: 'crashplan service (online)'}
- {proto: 'tcp', from_ip: '127.0.0.1', to_ip: '127.0.0.1', to_port: 4244, direction: 'in', comment: 'service to ui communication (localhost only)'}
Defaults
---
###############################################################################
# Crashplan for Business Configuration
###############################################################################
# CPU Memory Disk
# 2c/4t @2.0Ghz 1GB/TB 6GB (includes OS)
#
# Memory requirements are for the largest backup setup, allowing for OS usage.
# 6TB backup set = 6GB + 1GB for OS = 7GB memory. Use crashplan_memory.
#
# Crashplan will crash if there is not enough memory for the backup set being
# indexed.
#
# Remote connection setup:
#
# Container
# ---------
# PVE will try to forward to own displays if `X11UseLocalhost yes` is enabled
# for containers (lxc/kvm).
#
# /etc/ssh/sshd_config:
#
# X11UseLocalhost no
#
# Connect remotely to GUI for backup adoption:
#
# Windows
# -------
# xlaunch:
# * multiple windows
# * display windows: -1
# * start no client
# * clipboard (checked), primary selection (checked)
# * native opengl (checked)
#
# putty:
# connection -> ssh -> x11
# * enable x11 forwarding (checked)
# * x display location: localhost:0.0
# * MIT-Magic-Cookie-1 (checked)
#
# Linux
# -----
# ssh: no configuration required. Just xserver running.
#
# Run GUI:
#
# ssh -X {USER}@{HOST}
# /usr/local/crashplan/bin/desktop.sh
#
# Backup set Adoption:
# * Start container.
# * Sign in to your account.
# * Click the Replace Existing button to start the wizard.
# * **SKIP** File Transfer.
# * Once done with the wizard, go to your device's details and click Manage
# Files. You will probably see missing items in the file selection. This is
# normal, since path to your files may be different in the container.
# * Update the file selection by re-adding your files. Do not unselect missing
# items yet.
# * Perform a backup. Because of deduplication, files will not be uploaded
# again.
# * Once the backup is terminated, you can remove missing items if you don't
# care about file versions. Else, keep missing items.
#
# Reference:
# * https://crashplanhub.com/jlesage/docker-crashplan-pro/blob/master/Dockerfile
# * https://www.crashplanpro.com/app/#/console/app-downloads
# * https://superuser.com/questions/806637/xauth-not-creating-xauthority-file
# * https://support.code42.com/CrashPlan/6/Configuring/Replace_your_device
# * https://support.code42.com/Small_Business/Get_Started/CrashPlan_for_Small_Business_requirements
# From https://console.us2.crashplanpro.com/app/#/console/app-downloads
crashplan_version: '10.2.1'
crashplan_build: 16
crashplan_timestamp: 15252000061021
crashplan_checksum: '983159b784a12c83b9a0e4cac92e8af8dec3e3d1'
# Crashplan JVM memory in MB; 1GB per 1TB backup for largest backup set.
# If crashing this likely needs to be bumped higher.
crashplan_memory: 6144
# Force reinstallation?
crashplan_force_install: false
# Keep existing crashplan settings on reinstallation?
crashplan_keep_settings: false