<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.socialstack.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=2A02%3AC7C%3AC4B9%3A7800%3A98A8%3A701B%3AAF3C%3A7AC1</id>
	<title>SocialStack - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.socialstack.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=2A02%3AC7C%3AC4B9%3A7800%3A98A8%3A701B%3AAF3C%3A7AC1"/>
	<link rel="alternate" type="text/html" href="https://wiki.socialstack.dev/index.php?title=Special:Contributions/2A02:C7C:C4B9:7800:98A8:701B:AF3C:7AC1"/>
	<updated>2026-10-16T07:26:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>https://wiki.socialstack.dev/index.php?title=Cloud_Storage&amp;diff=569</id>
		<title>Cloud Storage</title>
		<link rel="alternate" type="text/html" href="https://wiki.socialstack.dev/index.php?title=Cloud_Storage&amp;diff=569"/>
		<updated>2023-09-27T19:21:16Z</updated>

		<summary type="html">&lt;p&gt;2A02:C7C:C4B9:7800:98A8:701B:AF3C:7AC1: /* AWS Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you&amp;#039;d like to use cloud storage such as DigitalOcean spaces, AWS S3 or Azure blob storage, Socialstack has an installable mechanism called &amp;quot;cloud hosts&amp;quot; which allows all uploaded files to automatically route and be served from a remote storage system.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
Install the cloud hosts module, then restart your API:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
socialstack i Api/CloudHosts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a new configuration entry called &amp;quot;CloudHost&amp;quot; where you can then drop in the configuration for the particular host you would like to use. By default the CloudHosts config will be created with a list of the directly supported hosts, along with a null next to each one. You can also use more than one simultaneously.&lt;br /&gt;
&lt;br /&gt;
== DigitalOcean Spaces Config ==&lt;br /&gt;
&lt;br /&gt;
The space should have a folder called &amp;quot;content&amp;quot; and &amp;quot;content-private&amp;quot; at its root. From there, its contents are the same as what would otherwise be in the Content folder. Upload your existing Content folders contents into it.&lt;br /&gt;
&lt;br /&gt;
[[File:Digio-space-root.png]]&lt;br /&gt;
&lt;br /&gt;
In the CloudHost config in the admin panel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;DigitalOcean&amp;quot;: {&lt;br /&gt;
      &amp;quot;SpaceOriginUrl&amp;quot;: &amp;quot;https://your-space.ams3.digitaloceanspaces.com&amp;quot;,&lt;br /&gt;
      &amp;quot;SpaceKey&amp;quot;: &amp;quot;DO...&amp;quot;,&lt;br /&gt;
      &amp;quot;SpaceSecret&amp;quot;: &amp;quot;..space secret..&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* CDN: It&amp;#039;ll use the spaces CDN by default. Turn it off by adding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;DigitalOcean&amp;quot;: {&lt;br /&gt;
      ...&lt;br /&gt;
      &amp;quot;DisableCDN&amp;quot;: true&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PDFs: By default uploaded PDFs are served from DigitalOcean spaces as bytes which means displaying them inline inside e.g. an iframe on your page doesn&amp;#039;t work in Chrome. If you&amp;#039;d like them to be displayable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;DigitalOcean&amp;quot;: {&lt;br /&gt;
      ...&lt;br /&gt;
      &amp;quot;DisplayPdfInline&amp;quot;: true&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AWS Config ==&lt;br /&gt;
&lt;br /&gt;
The bucket should have a folder called &amp;quot;content&amp;quot; and &amp;quot;content-private&amp;quot; at its root. From there, its contents are the same as what would otherwise be in the Content folder. Upload your existing Content folders contents into it. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;AWS&amp;quot;: {&lt;br /&gt;
      &amp;quot;S3ServiceUrl&amp;quot;: &amp;quot;s3.eu-west-2.amazonaws.com&amp;quot;,&lt;br /&gt;
      &amp;quot;S3AccessKey&amp;quot;: &amp;quot;..access key..&amp;quot;,&lt;br /&gt;
      &amp;quot;S3AccessSecret&amp;quot;: &amp;quot;..access secret..&amp;quot;,&lt;br /&gt;
      &amp;quot;S3BucketName&amp;quot;: &amp;quot;bucket-name&amp;quot;,&lt;br /&gt;
      &amp;quot;LockedDownAccess&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* LockedDownAccess: Set it to true if the bucket is locked down from public access and needs to use &amp;quot;S3CannedACL.BucketOwnerFullControl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* PDFs: By default uploaded PDFs are served from DigitalOcean spaces as bytes which means displaying them inline inside e.g. an iframe on your page doesn&amp;#039;t work in Chrome. If you&amp;#039;d like them to be displayable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;AWS&amp;quot;: {&lt;br /&gt;
      ...&lt;br /&gt;
      &amp;quot;DisplayPdfInline&amp;quot;: true&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>2A02:C7C:C4B9:7800:98A8:701B:AF3C:7AC1</name></author>
	</entry>
</feed>