# Extend S3 configuration for other s3 API compatible cloud storage solutions

**URL:** https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593
**Category:** Feature
**Created:** [September 29, 2014, 3:47pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593 "2014-09-29T15:47:57Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![edouardb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/edouardb/32/114997_2.png) [@edouardb](https://meta.discourse.org/u/edouardb)
#### Post date: [September 29, 2014, 3:47pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/1 "2014-09-29T15:47:57Z")

</div>

It would be great to have an extra field host and set region optional to allow other S3 API compatible services to work with discourse for backup and files storage.

#### Update:

> [@sam](#):
>
> For the record, digitalocean now supports this and we are open to extending core to allow for “any” s3 compatible location. Just need to figure out how this would be entered via site settings.
> 
> I guess you would select “custom” in the s3 location and then add a custom\_s3\_url or something like that.
> 
> #pr-welcome for this but I do want full details about the site setting changes to be made prior to implementing anything.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [September 29, 2014, 6:15pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/2 "2014-09-29T18:15:00Z")

</div>

What other S3 API compatible services are there? I was not aware of such a thing.

---

<div class="post-metadata">

### Author: ![edouardb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/edouardb/32/114997_2.png) [@edouardb](https://meta.discourse.org/u/edouardb)
#### Post date: [September 29, 2014, 9:08pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/3 "2014-09-29T21:08:40Z")

</div>

For instance Riak CS which offer an S3-Compatible api, more here [riakcs](http://basho.com/riak-cloud-storage/)

---

<div class="post-metadata">

### Author: ![Frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@Frank](https://meta.discourse.org/u/Frank)
#### Post date: [September 30, 2014, 1:07am UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/4 "2014-09-30T01:07:19Z")

</div>

The world could use a few more S3 type services.

[https://www.backblaze.com/](https://www.backblaze.com/) is one claims to be 25 times cheaper than S3

[https://cloud.google.com/storage/](https://cloud.google.com/storage/) (we all like Google may not be economic).

Microsoft has something fancy in Azure file storage. They can’t just say simple stuff like store your files and call them. they have to wrap it in completely stupid ‘wow them’ tech speak. [Azure Files REST API | Microsoft Learn](http://msdn.microsoft.com/en-us/library/azure/dn167006.aspx) Probably not a true S3 competetor (probable byproduct thingy).

One of these could be a true options though.

---

<div class="post-metadata">

### Author: ![Frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@Frank](https://meta.discourse.org/u/Frank)
#### Post date: [September 30, 2014, 1:16am UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/5 "2014-09-30T01:16:26Z")

</div>

One more I found… Rackspace. [http://www.rackspace.com/cloud/files/](http://www.rackspace.com/cloud/files/) (claims simple per GB pricing…).

---

<div class="post-metadata">

### Author: ![edouardb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/edouardb/32/114997_2.png) [@edouardb](https://meta.discourse.org/u/edouardb)
#### Post date: [September 30, 2014, 7:24am UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/6 "2014-09-30T07:24:55Z")

</div>

I don’t think google storage, azure and rackspace have an S3-Compatible API. Advantage of RIAK CS solution is the api which is S3-Compatible. @codinghorror, do you think a more complete S3 configuration could be possible for next version of disource ?

---

<div class="post-metadata">

### Author: ![kpfleming](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kpfleming/32/116414_2.png) [@kpfleming](https://meta.discourse.org/u/kpfleming)
#### Post date: [September 30, 2014, 1:37pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/7 "2014-09-30T13:37:50Z")

</div>

OpenStack provides an S3-compatible API, so anyone using an OpenStack-based cloud has it. Rackspace should offer it as well, as they are big proponents and developers of OpenStack.

---

<div class="post-metadata">

### Author: ![Frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@Frank](https://meta.discourse.org/u/Frank)
#### Post date: [September 30, 2014, 5:35pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/8 "2014-09-30T17:35:25Z")

</div>

Thank you.

@edouardb yes Rackspace is indeed an S3 competitor and they say it right on their website.

Backblaze is too. Here is an article on their blog on what they offer compared to S3. Dated March 14 2014.

> **[What is a Terabyte? Understanding 100 Petabytes of Cloud Data](https://www.backblaze.com/blog/100-petabytes-of-cloud-data/)**
>
> Wow. Backblaze is now storing 100 petabytes of customer data in our cloud storage. 100 petabytes is a hard number to wrap our heads around, so... How much

---

<div class="post-metadata">

### Author: ![Frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@Frank](https://meta.discourse.org/u/Frank)
#### Post date: [October 1, 2014, 5:44pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/9 "2014-10-01T17:44:38Z")

</div>

Here is another link that compares pricing between Amazon, Microsoft, and Google’s storage products.

> **[Amazon S3 vs Google Cloud Storage vs Azure Pricing Comparison](https://www.msp360.com/resources/blog/amazon-s3-azure-and-google-cloud-prices-compare/)**
>
> Choosing between Amazon S3, Google Cloud Storage and Microsoft Azure? We compared current cloud storage pricing and found the most affordable.

Google has the best pricing and I still can’t understand Amazon pricing at all other than it is free for a while.

Anyways the particular product you are looking for in Google-land is:

> **[Cloud Storage](https://cloud.google.com/storage)**
>
> Cloud Storage lets you store data with multiple redundancy options, virtually anywhere.

> **[Host a static website  |  Cloud Storage  |  Google Cloud Documentation](https://docs.cloud.google.com/storage/docs/hosting-static-website)**
>
> Learn how to host a static website using a Cloud Storage bucket.

Here is the pricing: [https://cloud.google.com/storage/pricing](https://cloud.google.com/storage/pricing)

Hope this helps.

---

<div class="post-metadata">

### Author: ![renoirb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/renoirb/32/114880_2.png) [@renoirb](https://meta.discourse.org/u/renoirb)
#### Post date: [May 1, 2015, 3:02am UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/10 "2015-05-01T03:02:30Z")

</div>

There is also DreamHost who offers storage with their [DreamObjects](http://www.dreamhost.com/cloud/storage/) service. They support both S3 and Swift credentials.

I wonder if changing [this line with a configurable auth URI](https://github.com/discourse/discourse/blob/master/lib/file_store/s3_store.rb#L36) and maybe adjusting `S3RegionSiteSetting` at [app/models/s3\_region\_site\_setting.rb](https://github.com/discourse/discourse/blob/master/app/models/s3_region_site_setting.rb#L12) would be enough.

You can see [their documentation and samples here](http://docs.dreamobjects.net/s3-examples/php.html). Basically the value at [`absolute_base_url` in s3\_store.rb](https://github.com/discourse/discourse/blob/master/lib/file_store/s3_store.rb#L36) would have a value similar to `my-bucket-name.objects.dreamhost.com`.

---

<div class="post-metadata">

### Author: ![renoirb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/renoirb/32/114880_2.png) [@renoirb](https://meta.discourse.org/u/renoirb)
#### Post date: [May 1, 2015, 7:27pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/11 "2015-05-01T19:27:39Z")

</div>

I tried this hook in my `container/app.yml` file;

```yaml
hooks:
  after_code:
    - exec:
        cd: $home
        cmd:
          - sed -i "s/s3.amazonaws/objects.dreamhost/" lib/file_store/s3_store.rb

```

To superseed `lib/file_store/s3_store.rb` method `absolute_base_url` with a `post_code` hook. I changes to what I need. But the backup cannot upload to the bucket. As if something, somewhere else, caches the URL to amazon. Regardless of this change.

---

<div class="post-metadata">

### Author: ![calmh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/calmh/32/115466_2.png) [@calmh](https://meta.discourse.org/u/calmh)
#### Post date: [May 1, 2015, 9:08pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/12 "2015-05-01T21:08:28Z")

</div>

Also [LeoFS](http://leo-project.net/leofs/), a distributed object storage thingy with (among others) an S3 API.

---

<div class="post-metadata">

### Author: ![dobon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dobon/32/45119_2.png) [@dobon](https://meta.discourse.org/u/dobon)
#### Post date: [August 23, 2015, 6:04am UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/13 "2015-08-23T06:04:51Z")

</div>

I had a go at making discourse work with DreamHost DreamObjects… it didn’t work. With the proliferation of S3-compatible hosts, I reckon this is definitely an idea worth looking into.

---

<div class="post-metadata">

### Author: ![rriemann](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rriemann/32/115238_2.png) [@rriemann](https://meta.discourse.org/u/rriemann)
#### Post date: [January 25, 2016, 6:00pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/14 "2016-01-25T18:00:10Z")

</div>

Any news so far? Someone got it working with a non-Amazon S3 service?

As the safe habour agreement has officially been questioning data transfers from the EU to the US, I would prefer a S3 provider that has its servers AND its root in the EU.

---

<div class="post-metadata">

### Author: ![robbo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/robbo/32/115517_2.png) [@robbo](https://meta.discourse.org/u/robbo)
#### Post date: [October 17, 2016, 8:36pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/15 "2016-10-17T20:36:35Z")

</div>

Google storage has worked using the same sort of API since it existed. In-fact using googles sync tool for your S3 buckets is significantly faster (last we tested anyway, we have since moved to Google cloud as it is cheaper and faster).

I don’t understand how discourse still only supports S3. Since google buckets use the same API hopefully I can hack it in but jesus… the fact I found a thread from 2014 asking for simple backups to something other than S3 and it is still not provided (or even mentioned). Should have just said “no” instead of pretending it might happen. This thread further shows you haven’t even thought about anything but S3 since you never even knew other services have compatible apis…

So hard finding any information about discourse too. Just links to threads with out of date information. Just glanced at github, issues not even enabled (I assume to try force people to post on your forums, this is just a barrier to entry for developers, the people who would contribute to an open source project).

Every time I have to do something with discourse I just run into issues because of weird philosophies, lack of information or because the original setup we have is bad (multisite). Trying to properly setup everything now with separate servers for postgres, redis and each forum and naturally I don’t want to have files on the app servers (this is a very outdated way of handling uploads) and you provide a single (bad) option instead of it.

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [October 17, 2016, 9:04pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/16 "2016-10-17T21:04:07Z")

</div>

> [@robbo](#):
>
> I don’t understand how discourse still only supports S3

You missed seeing this?

[https://meta.discourse.org/t/discourse-backups-to-dropbox/51176?u=mittineague](https://meta.discourse.org/t/discourse-backups-to-dropbox/51176)

> [@robbo](#):
>
> Should have just said “no” instead of pretending it might happen.

IMHO this is a rather unfair attitude.

The Discourse Team has a lot on it’s plate and can’t do everything at once.  
But realize that not everything needs to be done by the Discourse Team, Much code has been contributed by members of the community. Until that happens a “maybe” is the appropriate status.

That said, there are a few ways to help make a feature become reality.

- Become a “customer” - work that is being compensated for is much more likely to receive attention than uncompensated work.
- Make a Pull Request or write a plugin - become a contributor
- Post a topic in Marketplace to get the interest of a community developer in doing the work

---

<div class="post-metadata">

### Author: ![Uninen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/uninen/32/66432_2.png) [@Uninen](https://meta.discourse.org/u/Uninen)
#### Post date: [May 10, 2017, 10:00am UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/17 "2017-05-10T10:00:01Z")

</div>

I’m very much +1 on bringing support for the likes of [Backblaze B2](https://www.backblaze.com/b2/cloud-storage.html) in.

Would a S3-like functionality (ie. “just works”) be easy/hard/impossible to do? I’m not familiar with Rails nor the plugin system, but I’d like to take a stab at this 🙂 Where should one start? Anyone interested joining forces here?

---

<div class="post-metadata">

### Author: ![smaffulli](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/smaffulli/32/120462_2.png) [@smaffulli](https://meta.discourse.org/u/smaffulli)
#### Post date: [July 12, 2017, 6:31pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/18 "2017-07-12T18:31:52Z")

</div>

I’d be very interested in having a configuration option for S3 compatible storage solutions. NextCloud for example offers S3 and compatible options, both via GUI and config file: [https://docs.nextcloud.com/server/11/admin\_manual/configuration\_files/primary\_storage.html#amazon-s3](https://docs.nextcloud.com/server/11/admin_manual/configuration_files/primary_storage.html#amazon-s3)  
Has there been any progress on this feature? Any interest in picking this up?

---

<div class="post-metadata">

### Author: ![tophee](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tophee/32/73406_2.png) [@tophee](https://meta.discourse.org/u/tophee)
#### Post date: [August 26, 2017, 12:53pm UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/19 "2017-08-26T12:53:34Z")

</div>

Just to add to the list of S3 compatible options:

> **[High Performance Data Store for AI & Analytics | MinIO](https://www.min.io/)**
>
> Exascale data infrastructure for AI, agentic computing, and analytics. MinIO AIStor natively supports S3 for objects, Iceberg for tables, and SFTP for files.

It’s a minimalist open source server that you can run yourself. As you can see, they’re so minimalist that they don’t even care to support OpenGraph on their website.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [September 25, 2017, 6:47am UTC](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/20 "2017-09-25T06:47:38Z")

</div>

For the record, digitalocean now supports this and we are open to extending core to allow for “any” s3 compatible location. Just need to figure out how this would be entered via site settings.

I guess you would select “custom” in the s3 location and then add a custom\_s3\_url or something like that.

#pr-welcome for this but I do want full details about the site setting changes to be made prior to implementing anything.

[Next page](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593.md?page=2)
