Use Google Cloud Storage Instead of S3

I saw another post about this from '14 - but no answer and it seemed like they were making this harder than it should be…

I would like some pointers to see if there is an AWS endpoint configuration within app.yml which could be changed to allow use of google cloud storage instead of s3 - GCS has a compatability mode where all - as I understand it - would need to happen is to change the AWS endpoint:

In your existing tools or libraries, make the following changes:
Change the request endpoint to use the Google Cloud Storage request endpoint.
Replace the Amazon Web Services (AWS) access and secret key with the corresponding Google Cloud Storage access key and secret key (collectively called your Google developer key).

This could be added as an option under /admin/site_settings/category/files and option for AWS endpoint along with the access keys? or can it be done in the app.yml? [AWS_ENDPOINT = “/xxxx/xxx”] already?

Thanks!

2 个赞

I ended up doing this, just to get it working:

/bin/bash
 This script will copy the latest discourse backup to google cloud
 Then it will remove the previous backup from google cloud

LATESTBACKUP=`ls /var/discourse/shared/standalone/backups/default/*.gz -t1 | head -n1`
PREVBACKUPWDIR=`ls /var/discourse/shared/standalone/backups/default/*.gz -1tr | head -1`
PREVBACKUP=`find $PREVBACKUPWDIR -exec basename {} \;`

/home/user/gsutil/gsutil cp $LATESTBACKUP gs://yyh-community-backups
/home/user/gsutil/gsutil rm gs://your-backup-bucket/$PREVBACKUP

Which works, but I still think greater use of google cloud storage could be used with the s3 compatibility mode as described above. But maybe I’m the only one who wants to use non amazon tools.

3 个赞

It’d be great to have a few options “out of the box”!

你好

我正在使用默认配置测试 GCS 备份。

DISCOURSE_S3_BACKUP_BUCKET: falcoland-files/backup
DISCOURSE_BACKUP_LOCATION: s3

并在 GCS 上添加了特殊策略:

policy = {
    "serviceAccount:${google_service_account.discourse.email}" = [
      "roles/storage.legacyBucketOwner"
    ]
  }

备份已成功发送到 GCS。

希望这能帮助像我一样花费了一周时间才成功配置的人。

GCS 存储

6 个赞

这或许有点接近多疑,但我会将 Discourse 的备份存储在 AWS S3(原生支持此功能),然后使用以下服务将备份从 S3 同步到 GCS:

无需编写任何代码。这会使您的存储成本略有增加,因此如果您旨在节省开支,此方案并无帮助。我保留最新的 10 个备份,每个大小为 10 GB,在 Google 处的费用为每月 3 美元。