Search code examples
amazon-s3nexussonatype

Moving an existing Nexus 3 blobstore to an S3 bucket


I'm currently migrating a Sonatype Nexus 3 OSS installation that uses a filesystem blobstorage to an EC2 docker installation that will use an S3 bucket as a blobstorage.

Reading the Nexus documentation I've noticed that moving a blobstorage from filesystem to S3 is possible through a feature called 'group blobstorage', but it's currently only available to Nexus PRO users.

Is there any other way to migrate that doesn't require a PRO license?

I've tried manually moving a blobstorage contents (after updating the metadata.properties file with the value type = s3/1 instead of type = file/1), but after setting up the bucket as a S3 blobstorage, the new Nexus installation sees it as empty (it most certainly needs configurations to index it properly).


Solution

  • You can basically use the explanation on https://support.sonatype.com/hc/en-us/articles/235816228-Relocating-Blob-Stores But you need to configure the orientDB/config to use s3 instead of file.

    The SQL goes like this for bucket=bucketname with a prefix=blobstorename for a blobstore:

    UPDATE repository_blobstore MERGE {attributes: {s3: {region: 'eu-central-1', bucket: 'bucketname', prefix: 'blobprefix', expiration: '5', encryption_type: 's3ManagedEncryption'} } } WHERE name='blobstorename'