Google Cloud Platform (GCP) storage plugin for Medusa.js
- Run the following command in the directory of your Medusa backend:
npm install medusa-plugin-gcp
- Add following environment variables into your
.env
:
GCP_BUCKET=<YOUR_BUCKET_NAME>
GCP_PRIVATE_KEY=<YOUR_SERVICE_ACCOUNT_PRIVATE_KEY>
GCP_CLIENT_EMAIL=<YOUR_SERVICE_ACCOUNT_IAM_EMAIL>
- Open your
medusa.config.js
and add the below configuration:
module.exports = {
plugins: [
...otherMedusaPlugins,
{
resolve: `medusa-plugin-gcp`,
/** @type {import('medusa-plugin-gcp').PluginOptions} */
options: {
bucket: process.env.GCP_BUCKET,
fileNaming: "original_random", // @default to original_random, options: original, random, original_random
credentials: {
private_key: process.env.GCP_PRIVATE_KEY,
client_email: process.env.GCP_CLIENT_EMAIL,
},
},
},
],
};
- Run your Medusa backend:
npm run dev
- Try to upload an image for a product using Medusa's admin interface. The image should appear into your storage bucket.
- GCP Storage Buckets
- GCP Service Accounts
- @google-cloud/storage (package)