Configuration Guide: storage.json


What is the purpose of the storage.json file?

The storage.json file is the configuration file for your backup storage. Starting from version 4.9, this file will be automatically encrypted in CubeBackup. For installations upgraded through the console, or versions prior to 4.9, the following fields are still displayed in the storage.json and can be modified in a text editor.

In certain cases, you may need to update your storage credentials or change the backup location. We strongly recommend that you perform these changes through the CubeBackup web console. Detailed instructions can be found at How to update my storage access credentials in CubeBackup and How to migrate Google Workspace backup data to a new storage location.

Where is the storage.json file?

The storage.json file is located in the <CubeBackup installation directory>/db folder.

On Windows, the file is stored in the "C:\Program Files\CubeBackup4\db\" directory by default.
On Linux, the file is stored in the "/opt/cubebackup/db" directory by default.

Fields in the storage.json file

Fields in storage.json file vary with different storage types. For a detailed sample and explanation, please click the appropriate tab below for your storage type and operating system.

Tip: For versions prior to CubeBackup 4.7 or installations upgraded through the console, the storage.json file may reserve a few empty fields that are not relevant to your storage type. These can be deleted or simply ignored. If you wish, you may update your storage.json file according to the sample below.

storage.json sample
{
  "EncryptEnabled": true,
  "Type": "LOCAL",
  "IndexPath": "/opt/cubebackup/index",
  "DataPath": "/var/cubebackup_data"
}
storage.json Field Definitions
  • EncryptEnabled: Whether or not the backup data should be encrypted.

    true: Encrypt the backup data.
    false: Do not encrypt the backup data.

  • Type: The storage type.

    "LOCAL": Local disk

  • IndexPath: The storage location for the data index.

    The data index should be stored on a local disk (local SSD is strongly recommended).

  • DataPath: The location for the backup data.

On Windows, double backslashes should be used to separate the directories in the path.
For example:

  "IndexPath": "C:\\Program Files\\CubeBackup4\\index"
  "DataPath": "D:\\backups\\gsuite_data"
storage.json sample
{
  "EncryptEnabled": true,
  "Type": "WINS",
  "IndexPath": "C:\\Program Files\\CubeBackup4\\index"
  "WinsLocation": "\\\\BACKUPNAS\\homes\\gsuitebackups"
  "WinsUsername": "BACKUPNAS\\cube",
  "WinsPassword": "12345"
}
storage.json Field Definitions
  • EncryptEnabled: Whether or not the backup data should be encrypted.

    true: Encrypt the backup data.
    false: Do not encrypt the backup data.

  • Type: The storage type.

    "WINS": Windows network location

  • IndexPath: The storage location for the data index.

    The data index should be stored on a local disk (local SSD is strongly recommended).

  • WinsLocation: The network storage path on Windows.

  • WinsUsername & WinsPassword: The username and password to access the network location on Windows.

On Windows, double backslashes should be used to separate the directories in the path.
For example:

  "IndexPath": "C:\\Program Files\\CubeBackup4\\index"
  "WinsLocation": "\\\\BACKUPNAS\\homes\\gsuitebackups"
  "WinsUsername": "BACKUPNAS\\cube",
  "WinsPassword": "12345"
storage.json sample
{
  "EncryptEnabled": true,
  "Type": "NAS",
  "IndexPath": "/opt/cubebackup/index",
  "DataPath": "/mnt/nas"
}
storage.json Field Definitions
  • EncryptEnabled: Whether or not the backup data should be encrypted.

    true: Encrypt the backup data.
    false: Do not encrypt the backup data.

  • Type: The storage type.

    "NAS": Mounted network storage

  • IndexPath: The storage location for the data index.

    The data index should be stored on a local disk (local SSD is strongly recommended).

  • DataPath: The mounted network storage location for the backup data.

storage.json sample
{
  "EncryptEnabled": true,
  "Type": "S3",
  "IndexPath": "/opt/cubebackup/index",
  "S3Bucket": "cubebackup-beta-ubuntu",
  "S3Region": "us-east-1",
  "S3AccessKeyId": "AKIAW...4YZEYUY",
  "S3SecretAccessKey": "gCA0U4JG1...99Y5L+DbvpgiDX",
  "S3CoolStorageClass": "STANDARD_IA"
}
storage.json Field Definitions
  • EncryptEnabled: Whether or not the backup data should be encrypted.

    true: Encrypt the backup data.
    false: Do not encrypt the backup data.

  • Type: The storage type.

    "S3": Amazon S3

  • IndexPath: The storage location for the data index.

    The data index should be stored on a local disk (local SSD is strongly recommended).
    On Windows, double backslashes should be used to separate the directories in the path.
    For example:

      "IndexPath": "C:\\Program Files\\CubeBackup4\\index"
  • S3Bucket: The name of the S3 bucket.

  • S3Region: The region of the S3 bucket. For AWS S3 storage regions, please refer to this doc.

  • S3AccessKeyId: The IAM Access key ID to access the bucket.

  • S3SecretAccessKey: The IAM Secret Access key to access the bucket.

    For more information, please refer to Create an IAM account in Backup Google Workspace Data to private Amazon S3 storage.

  • S3CoolStorageClass: The storage class for the backup data. Standard-IA or One Zone-IA is recommended. For more information about Amazon S3 storage classes, please visit AWS Storage classes.

    "STANDARD" for Standard
    "STANDARD_IA" for Standard-IA
    "ONEZONE_IA" for One Zone-IA
    "INTELLIGENT_TIERING" for Intelligent-Tiering
    "GLACIER_IR" for Glacier Instant Retrieval

storage.json sample
{
  "EncryptEnabled": true,
  "Type": "GOOGLE",
  "IndexPath": "/opt/cubebackup/index",
  "GoogleBucket": "cubebackup-beta",
  "GoogleCoolStorageClass": "COLDLINE"
}
storage.json Field Definitions
  • EncryptEnabled: Whether or not the backup data should be encrypted.

    true: Encrypt the backup data.
    false: Do not encrypt the backup data.

  • Type: The storage type.

    "GOOGLE": Google Cloud Storage

  • IndexPath: The storage location for the data index.

    The data index should be stored on a local disk (local SSD is strongly recommended).
    On Windows, double backslashes should be used to separate the directories in the path.
    For example:

      "IndexPath": "C:\\Program Files\\CubeBackup4\\index"
  • GoogleBucket: The name of the Google Cloud Storage bucket.

  • GoogleCoolStorageClass: The storage class for the backup data. Coldline is recommended. For more information about Google Cloud storage classes, please visit Storage classes.

    "STANDARD" for Standard
    "NEARLINE" for Nearline
    "COLDLINE" for Coldline
    "ARCHIVE" for Archive

storage.json sample
{
  "EncryptEnabled": true,
  "Type": "AZURE",
  "IndexPath": "/opt/cubebackup/index",
  "AzureAccountName": "cubebackup-beta",
  "AzureAccountKey": "XihUF3ALJ1...gDVvH7x/QgzBxpSEYA==",
  "AzureContainer": "cube-container",
  "AzureCoolStorageClass": "Cool"
}
storage.json Field Definitions
  • EncryptEnabled: Whether or not the backup data should be encrypted.

    true: Encrypt the backup data.
    false: Do not encrypt the backup data.

  • Type: The storage type.

    "AZURE": Azure Blob Storage

  • IndexPath: The storage location for the data index.

    The data index should be stored on a local disk (local SSD is strongly recommended).
    On Windows, double backslashes should be used to separate the directories in the path.
    For example:

      "IndexPath": "C:\\Program Files\\CubeBackup4\\index"
  • AzureAccountName: The name of the Azure storage account.

  • AzureAccountKey: The Access Key to the storage account.

  • AzureContainer: The destination container in the Azure storage account.

  • AzureCoolStorageClass: The access tier for the backup data. Cool is recommended. For more information about Azure Blob Storage Access, please visit Access Tiers.

    "Hot" for Hot
    "Cool" for Cool

storage.json sample
{
  "EncryptEnabled": true,
  "Type": "S3C",
  "IndexPath": "/opt/cubebackup/index",
  "S3Endpoint": "https://s3.us-west-000.backblazeb2.com",
  "S3Bucket": "cubebackup-beta",
  "S3Region": "us-west-000",
  "S3AccessKeyId": "000b4f9...000000007",
  "S3SecretAccessKey": "K000AjHTJ7...MV+FvW9ydI4r7A"
}
storage.json Field Definitions
  • EncryptEnabled: Whether or not the backup data should be encrypted.

    true: Encrypt the backup data.
    false: Do not encrypt the backup data.

  • Type: The storage type.

    "S3C": Amazon S3 compatible storage

  • IndexPath: The storage location for the data index.

    The data index should be stored on a local disk (local SSD is strongly recommended).
    On Windows, double backslashes should be used to separate the directories in the path.
    For example:

      "IndexPath": "C:\\Program Files\\CubeBackup4\\index"
  • S3Endpoint: The appropriate service URL for the storage region of the bucket.

    For Wasabi, please refer to this doc.
    For Backblaze B2, please copy the value of Endpoint and paste with "https://" in the front of the endpoint address.

  • S3Bucket: The name of the S3 compatible bucket.

  • S3Region: The region of the S3 compatible bucket.

  • S3AccessKeyId: The Access key ID to access the bucket

  • S3SecretAccessKey: The Secret Access key to access the bucket.

    For detailed instructions, please refer to Create a Wasabi bucket for Wasabi and Generate the Application Key for Backblaze B2.

Encrypt my storage.json file

For privacy and security reasons, CubeBackup will now encrypt your storage.json file so that potentially vulnerable information like your credentials and storage location information are no longer available to intruders or anyone with physical access to your backup server.

Starting from version 4.9, all configuration files will be encrypted automatically during the initial setup. For installations upgraded through the console, or versions prior to 4.9, you can follow the instructions at How to encrypt the service account and configuration files of my CubeBackup instance to encrypt your storage.json file on the backup server.