# Discourse GCS Helper

**URL:** https://meta.discourse.org/t/discourse-gcs-helper/247705
**Category:** Plugin
**Created:** [December 4, 2022, 5:09pm UTC](https://meta.discourse.org/t/discourse-gcs-helper/247705 "2022-12-04T17:09:46Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Wolftallemo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wolftallemo/32/289645_2.png) [@Wolftallemo](https://meta.discourse.org/u/Wolftallemo)
#### Post date: [December 4, 2022, 5:09pm UTC](https://meta.discourse.org/t/discourse-gcs-helper/247705/1 "2022-12-04T17:09:46Z")

</div>

| | | |
| --- | --- | --- |
| ℹ | **Summary** | This plugin fixes various methods in Discourse related to S3 tasks |
| 🛠 | **Repository Link** | [https://github.com/Wolftallemo/discourse-gcs-helper](https://github.com/Wolftallemo/discourse-gcs-helper) |
| 📖 | **Install Guide** | [How to install plugins in Discourse](https://meta.discourse.org/t/install-plugins-in-discourse/19157) |

  

This plugin overrides various S3 related methods to make them compatible with Google Cloud Storage.

Currently, the following features are patched by this plugin:

- Copying large (\>=15mb) objects to tombstone
- Tombstone lifecycle management
- Expiring assets

To install and configure this plugin:

- Add the plugin to your `app.yml` as you would any other plugin
- [Download a service key file from one of your service accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) (preferably the same service account that your hmac keys are under)
- Upload and move the key file to `/var/discourse/shared/standalone` and name it `gcs.json`
- Rebuild

Note: To set a different path to load the key file from, set the `STORAGE_CREDENTIALS_PATH` variable in the `env` section of your `app.yml` before rebuilding. This can be any path that is visible to both the host and container.
