Installation


CubeBackup can run on Windows, Linux and Docker.

For Linux Users:

Headless install via command line:

 curl -s https://www.cubebackup.com/install.sh | sudo bash

Supported Linux distributions

  • Redhat 6.4 64bit and above
  • CentOS 6.4 64bit and above
  • Ubuntu 14 64bit and above
  • SUSE Linux Enterprise 12 64bit and above
  • openSUSE 12 64bit and above


After CubeBackup has been successfully installed, open your web browser for the initial configuration.

For Windows Users:

Click the Download CubeBackup for Windows button on the download page to download CubeBackup Windows installer. Then run the downloaded installer.

Supported Windows Versions

  • Windows Server 2008 64bit, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016
  • Windows 7 64bit, Windows 8 64bit, Window 10 64 bit


After CubeBackup has been installed, the web console will automatically open in your default web browser to begin the initial configuration.

For Docker Users:

The CubeBackup docker image is available on Docker Hub under the image name: cubebackup/cubebackup.

The docker image is based on CentOS 7 and can only run on Linux hosts

CubeBackup allows you to backup all data in your G Suite domain to a local disk, network storage, or Amazon S3. Depending on your backup target, the commands to create a docker container are slightly different.

Backup to a local disk

Create a docker container using the CubeBackup image.

SYNOPSIS

sudo docker run -d -p <port_on_host>:80  -v <backup_directory_on_host>:<backup_directory_in_container>  -v <data_index_directory_on_host>:<data_index_directory_in_container>  --name <container_name>  cubebackup/cubebackup

DESCRIPTION

If you plan to run CubeBackup in a docker container, we strongly recommend that you mount a host directory into the container as a volume to store the backup data. This allows data persistence and better disk performance, and is actually the recommended mechanism for persistent data generated by and used by Docker containers.

NOTE: Please ensure the backup location has enough available space to store all employee data in your G Suite domain, including any future backups. Because Google does not always report the size of all files stored and does not even count some files when totaling storage, and since CubeBackup itself keeps a revision history of files, a good rule of thumb is to reserve 2x the estimated data size for your domain. For example, if there are 100 users in your G Suite domain and each user has 10GB of data on average, there should be at least 100 * 10GB * 2 = 2TB of space available for the backup.

  • Data index: For performance reasons, CubeBackup requires you to keep the data index on a local drive, preferably a fast drive like an SSD. It is recommended that the data index directory be located on the host machine and mounted into the container.

TIP: The data index contains metadata and cache files for your backups, so its access speed is crucially important for backup performance. More information can be found at What is the data index.

Command example

The following command will create a docker container from the cubebackup/cubebackup image, binding /var/gsuite_backup on the host machine to /gsuite_backup on the container for the backup data, and /ssd_dir on the host to /cube_index on the container for the data index.

sudo docker run -d -p 80:80 -v /var/gsuite_backup:/gsuite_backup -v /ssd_dir:/cube_index  --name cubebackup  cubebackup/cubebackup

The CubeBackup web console is accessible through http://<host-IP>.

TIP: If port 80 on the host computer is in use by another service, please choose a different binding port (such as 8088). For example:

sudo docker run -d -p 8088:80 -v /var/gsuite_backup:/gsuite_backup -v /ssd_dir:/cube_index  --name cubebackup  cubebackup/cubebackup

Backup to network storage

Create a docker container using the CubeBackup image.

SYNOPSIS

sudo docker run -d -p <port_on_host>:80  --name <container_name>  -v <mounted_network_storage_path_on_host>:<backup_directory_in_container>  -v <data_index_directory_on_host>:<data_index_directory_in_container>  cubebackup/cubebackup

DESCRIPTION

In order to backup G Suite data to network storage, such as a NAS or SAN, be sure to first mount the network storage onto your host machine (e.g. /mnt/nas). This host path must then be bound to a path inside the docker container as a volume.

  • Data index: For performance reasons, CubeBackup requires you to keep the data index on a local drive, preferably a fast drive like an SSD. It is recommended that the data index directory be located on the host machine and mounted into the container.

TIP: The data index contains metadata and cache files for your backups, so its access speed is crucially important for backup performance. More information can be found at What is the data index.

Command example

The following command will create a docker container from the cubebackup/cubebackup image, binding /mnt/nas on the host machine to /gsuite_backup on the container for the backup data, and /ssd_dir on the host to /cube_index on the container for the data index.

sudo docker run -d -p 80:80 -v /mnt/nas:/gsuite_backup -v /ssd_dir:/cube_index  --name cubebackup  cubebackup/cubebackup

The CubeBackup web console is accessible through http://<host-IP>.

TIP: If port 80 on the host computer is in use by another service, please choose a different binding port (such as 8088). For example:

 sudo docker run -d -p 8088:80 -v /mnt/nas:/gsuite_backup -v /ssd_dir:/cube_index  --name cubebackup  cubebackup/cubebackup

Backup to Amazon S3

Create a docker container using the CubeBackup image:

SYNOPSIS

sudo docker run -d -p <port_on_host>:80   -v <data_index_directory_on_host>:<data_index_directory_in_container>  --name <container_name>  cubebackup/cubebackup

DESCRIPTION

  • Data index: For performance reasons, CubeBackup requires you to keep the data index on a local drive, preferably a fast drive like an SSD. It is recommended that the data index directory be located on the host machine and mounted into the container.

TIP: The data index contains metadata and cache files for your backups, so its access speed is crucially important for backup performance. More information can be found at What is the data index.

Command example

The following command will create a docker container from the cubebackup/cubebackup image, binding /ssd_dir on the host to /cube_index on the container for the data index.

sudo docker run -d -p 80:80  -v /ssd_dir:/cube_index  --name cubebackup  cubebackup/cubebackup

The CubeBackup web console is accessible through http://<host-IP>.

TIP: If port 80 on the host computer is in use by another service, please choose a different binding port (such as 8088). For example:

sudo docker run -d -p 8088:80  -v /ssd_dir:/cube_index  --name cubebackup  cubebackup/cubebackup

Advanced topics

  • If you plan to enable HTTPS/SSL for the CubeBackup web console after installation, please bind/expose port 443 when creating the docker container. For example:

    sudo docker run -d -p 80:80 -p 443:443 -v /var/gsuite_backup:/gsuite_backup -v /ssd_dir:/cube_index  --name cubebackup  cubebackup/cubebackup
    
  • If you want the CubeBackup configuration to persist, please bind-mount a host directory to the /opt directory on the container. For example:

    sudo docker run -d -p 80:80 -v /var/gsuite_backup:/gsuite_backup -v /ssd_dir:/cube_index -v /var/cube_config:/opt  --name cubebackup  cubebackup/cubebackup
    

    This will ensure that no backup data, index data or configuration data will be lost if the container is deleted or corrupted. Once bound to these directories, a new container can immediately take the place of the old, with no further configuration necessary.


After the docker container has been successfully created, point your browser to http://<host_IP>:<port number> for the initial configuration.