Image 1 of 1

Google Storage Assets

Product information

Store assets on Google Storage buckets

npm install @pinelab/vendure-plugin-google-storage-assets
Integration type
Partner
Category
Storage
Compatible with
^2.0.0
Latest version
1.2.0
Last published
Jun 25, 2024
Downloads in past month
1,059

Vendure Google Asset Storage plugin

Official documentation here

Plugin for storing Vendure assets on Google Cloud Storage

Getting started

  1. Create a bucket which is publicly available in Google Cloud.
  2. Add to your sendcloud.dev-config.ts
import { GoogleStoragePlugin, GoogleStorageStrategy } from '@pinelab/vendure-plugin-google-storage-assets'

plugins: [
  AssetServerPlugin.init({
    storageStrategyFactory: () => new GoogleStorageStrategy({
      bucketname: 'your-bucket-name',
      /**
       * Use to pre-generate thumbnail sized images.
       * Thumbnails are available on product.featured_asset.thumbnail via GraphQL
       */
      thumbnails: {
        width: 500,
        height: 500,
      },
      /**
       * You can set this to 'false' to make the Vendure admin ui also consume images directly
       * from the Google Cloud Storage CDN,
       * instead of via the Vendure asset server
       */
      useAssetServerForAdminUi: false
    }),
    route: 'assets',
    assetUploadDir: '/tmp/vendure/assets',
    port: 3001,
  }),
  GoogleStoragePlugin,

Local development

  1. Run gcloud auth application-default login
  2. Create a .env file with the following contents:
GCLOUD_PROJECT=your-project-id
BUCKET=your-bucket
  1. Run yarn start and go to https://localhost:3050/admin to test asset uploads

Internally this plugin uses new Storage(); to instantiate the Storage client, which uses ENV variables to authenticate:

// By default, the client will authenticate using the service account file
// specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable and use
// the project specified by the GCLOUD_PROJECT environment variable. See
// https://cloud.google.com/docs/authentication/production#providing_credentials_to_your_application

https://cloud.google.com/compute/docs/tutorials/nodejs-guide

Vendure
Get started

Create your first commerce experience with Vendure in less than 2 minutes

Vendure is a registered trademark. Our trademark policy ensures that our brand and products are protected. Feel free to reach out if you have any questions about our trademarks.

Newsletter

Get the latest product news and announcements delivered directly to your inbox.

© Copyright 2022 - 2024, Vendure GmbH. All rights reserved.