# GROWI data transfer feature

# Overview

This feature allows for easy data transfer from one GROWI to another.

# Introduction

The following conditions must be met:

  • Both GROWI versions of the destination and source GROWI must match.
  • v6 or higher and the same version.
  • If the environment variable USER_UPPER_LIMIT is set, the destination USER_UPPER_LIMIT must be greater than the source USER_UPPER_LIMIT.

# Transfer flow

The data transfer process is as follows:

  1. to Publish a transfer key for authentication with the destination GROWI.
  2. from Enter the transfer key in the source GROWI and click the Start transfer button.

Each step is explained in detail below.

# to Operations on the destination GROWI

# Publish transfer key

  • You can publish a transfer key regardless of whether GROWI is installed or not.
    • If installed, publish the transfer key from the admin page.
g2g-transfer-1
  • If not installed, publish the transfer key from the installer screen.
g2g-transfer-2

# Transfer key expiration

  • The transfer key is valid for 1 hour.
  • A transfer key can only be used once for transfer and cannot be reused.

# from Operations on the source GROWI

# Inputting the transfer key and starting the transfer

  • Enter the transfer key and click the start transfer button to start the transfer.
g2g-transfer-3

# Select the collections and advanced options to be transferred

  • By clicking the Advanced options button, you can configure which collections to transfer and adjust detailed settings for each collection.
  • By default, all collections are transferd, and the contents of the source and destination databases will be the same.
  • If duplicate data exists, it will be overwritten with the source data. However, the Config collection will be handled with a Flush and insert operation.
g2g-transfer-4

# File upload settings for the destination

As of v6.0.5, the settings of the destination are used as they are.

TIP

In a future update, the source's file upload settings will be selectable, and it will be possible to overwrite the destination's settings.

# Transferability of attached files

from/to Local AWS(S3) GCP(GCS) Azure(Blob) MongoDB(GridFS) 未設定(none)
Local ✅ Transfer ✅ Transfer ✅ Transfer ✅ Transfer ✅ Transfer ❌ Cannot transfer
Cloud(S3) ✅ Transfer 🚩 Transfer if settings differ ✅ Transfer ✅ Transfer ✅ Transfer ❌ Cannot transfer
Cloud(GCS) ✅ Transfer ✅ Transfer 🚩 Transfer if settings differ ✅ Transfer ✅ Transfer ❌ Cannot transfer
Cloud(Azure) ✅ Transfer ✅ Transfer ✅ Transfer 🚩 Transfer if settings differ ✅ Transfer ❌ Cannot transfer
GridFS ✅ Transfer ✅ Transfer ✅ Transfer ✅ Transfer ✅ Transfer ❌ Cannot transfer
None ❌ Cannot transfer ❌ Cannot transfer ❌ Cannot transfer ✅ Transfer ❌ Cannot transfer ❌ Cannot transfer
  • Cloud(S3/GCS/Azure) -> Cloud(GCS/S3/Azure)
    • If the service/bucket name differs, the files will be transferred.
    • If service/bucket name matches, no transfer. (Transfer is considered unnecessary and transfer is completed.)
  • Destination not installed
    • If the destination's environment variable FILE_UPLOAD is set to 'aws' (default):
      • As of v6.0.5, files are not transferred.
      • A future update will make file transfer possible.
    • If the destination's environment variable FILE_UPLOAD is set to 'mongodb' or 'local', the files are transferred.
    • If the destination's environment variable FILE_UPLOAD is set to 'gcp', and the related GCP environment variables (GCS_API_KEY_JSON_PATH, GCS_BUCKET, GCS_UPLOAD_NAMESPACE) are configured, the files are transferred.

WARNING

If the environment variable FILE_UPLOAD_DISABLED=true is set on the destination, attached files cannot be transferred.