Version: 2.11

Storing Files on Google Cloud Storage (GCS)

If you use containers for deployment (including Docker and Heroku), you should not store files within the container’s filesystem.

This integration allows you to delegate storing such files to Google Cloud Storage (GCS) service.

Environment variables

Variable NameDescription
GOOGLE_APPLICATION_CREDENTIALSSet an environment variable to a path of the json file.
GS_CREDENTIALSOptional. Use the OAuth 2 credentials for the connection. Default is to infer them from GOOGLE_APPLICATION_CREDENTIALS.
GS_MEDIA_BUCKET_NAMEThe GCS bucket name to use for media files.
GS_STORAGE_BUCKET_NAMEThe GCS bucket name to use for static files.

Serving media files from a GCS bucket

"Media files" are the files uploaded through the dashboard. They include product images, category images, and non-image files.

If you want to use BGC to store and serve media files, you need to configure at least the bucket name (see table above).

Serving static files from a GCS bucket

"Static files" are assets required for Saleor to operate. They include assets used in default email templates.

If you also intend to use GCS for your static files, you need to configure at least the bucket name (see table above).

Cross-Origin Resource Sharing

You need to configure your GCS bucket to allow cross-origin requests for some files to be properly served (SVG files, Javascript files, etc.). To do this, set the following instructions in your GCS bucket’s permissions tab under the CORS section.

<?xml version="1.0" encoding="UTF-8"?>
<CorsConfig>
<Cors>
<Origins>
<Origin>http://origin1.example.com</Origin>
<Origin>http://origin2.example.com</Origin>
</Origins>
<Methods>
<Method>GET</Method>
<Method>HEAD</Method>
</Methods>
<ResponseHeaders>
<ResponseHeader>Content-Type</ResponseHeader>
</ResponseHeaders>
<MaxAgeSec>3600</MaxAgeSec>
</Cors>
</CorsConfig>