website logo
Create accountLogin
Home
DCS
Node
Resources
Help center
Navigate through spaces
Home
DCS
Node
Resources
Help center
⌘K
Storj DCS
Get Started
AWS CLI and Hosted Gateway MT
AWS SDK and Hosted Gateway MT
Uplink CLI
Satellite Admin Console
Object Browser
Downloads
Download Uplink CLI
Download Self-hosted S3 Compatible Gateway
Download Storj Client Libraries
SDKs & Reference
Tutorial
How-to Guides
Concepts
Support
Support Overview
FAQ
Community Forum
Status Page
Help Desk
Billing, Payment & Accounts
Resources
Moved Documents
Docs powered by archbee 
47min

Self-hosted S3 Compatible Gateway

A download can become a chargeable event for 2 times the actual file size if the gateway is running on another cloud provider. We recommend interfacing with the network directly through the Uplink Library or using our hosted Gateway MT.

For a complete list of the supported architectures and API calls for the S3 Gateway, see Concepts: S3 Compatibility.

Minimum Requirements

✅ 1 CPU

✅ 2GB of RAM

Depending on the load and throughput, more resources may be required.

To save on costs and improve performance, please see this important note on multipart upload part sizes.

Dependencies

✅ Storj DCS Satellite Account

✅ Storj DCS Satellite token or Access Grant

Steps:

  1. Get and install Gateway ST
  2. Configure Gateway ST
  3. Run Gateway ST
  4. Configure AWS CLI to use Gateway ST
  5. Try it out!

Get and install Gateway ST

Download, unzip, and install the binary for your OS:

Windows
Linux
macOS
Docker

Curl Download (PowerShell)

Terminal
|

Direct Download

Windows Gateway Binary

Configure Gateway ST

You have two ways to configure your Gateway ST:

  1. Interactive Setup (only if it is your first setup)
  2. Using an Access Grant

Interactive Setup

1. Setup your S3 gateway by running the following command and following the instructions provided by the wizard:

Windows
Linux
macOS
Docker

PowerShell

Navigate to the directory your gateway.exe file is located in.

PowerShell
|

2. Enter the numeric choice or satellite address corresponding to the satellite you've created your account on.

The satellite address should be entered as <nodeid>@<address>:<port> for example: 12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs@eu1.storj.io:7777, or just use the number from the list:

Document image

3. Choose an access name (this step may not yet be implemented in the version of S3 Gateway you are using - if you don't see this prompt, skip to step 5 below).

If you would like to choose your own access name, please be sure to only use lowercase letters. Including any uppercase letters will result in your access name not getting recognized when creating buckets.

Document image

4. Enter the API Key you generated:

Didn't save your Access token? Simply create another one in the satellite web interface.
Didn't save your Access token? Simply create another one in the satellite web interface.

5. Create and confirm an encryption passphrase, which is used to encrypt your files before they are uploaded:

Document image

Please note that Storj Labs does not know or store your encryption passphrase, so if you lose it, you will not be able to recover your files.

6. Your S3 gateway is configured and ready to use!

Using an Access Grant

You can use two methods to obtain an Access Grant:

  1. Obtain Access Grant with Uplink CLI
  2. Obtain Access Grant with Satellite UI

Now we got our access grant and can configure the gateway as follows:

Windows
Linux
MacOS
Docker
|

This command will register the provided access as the default access in the gateway config file.

It is possible to have several access grants, see how here.

Run Gateway ST

The gateway functions as a daemon. Start it and leave it running.

Windows
Linux
macOS
Docker
Terminal
|

The gateway should output your S3-compatible endpoint, access key, and secret key.

Example terminal output
Example terminal output

If you are interested in more running options, checkout the Gateway ST Advanced Usage page where you can find how to:

  1. Run Gateway ST with an Access Grant
  2. Run Gateway ST to host a static website
  3. Run Gateway ST to host a static website with cache

Configure AWS CLI to use Gateway ST

Please make sure you have AWS S3 CLI installed.

Once you do, in a new terminal session, configure it with your Gateway's credentials:

Terminal
|

Then, test out some AWS S3 CLI commands!

See also AWS CLI Advanced Options

Try it out!

Create a bucket

AWS CLI
|

Upload an object

AWS CLI
|

List objects in a bucket

AWS CLI
|

Download an object

AWS CLI
|

Generate a URL for an object

AWS CLI
|

Delete an object

AWS CLI
|

All Commands

cp - Copies a local file or S3 object to another location locally or in S3

ls - List S3 objects and common prefixes under a prefix or all S3 buckets

mb - Creates an S3 bucket

mv - Moves a local file or S3 object to another location locally or in S3.

presign - Generate a pre-signed URL for an S3 object. This allows anyone who receives the pre-signed URL to retrieve the S3 object with an HTTP GET request.

rb - Deletes an empty S3 bucket

rm - Deletes an S3 object

sync - Syncs directories and S3 prefixes. Recursively copies new and updated files from the source directory to the destination. Only creates folders in the destination if they contain one or more files

And that's it! You've learned how to use our S3-compatible Gateway. Ideally, you'll see how easy it is to swap out AWS for the Uplink, going forward.

Updated 29 Jan 2023
Did this page help you?
Yes
No
UP NEXT
Gateway ST Advanced Usage
Docs powered by archbee 
TABLE OF CONTENTS
Minimum Requirements
Dependencies
Steps:
Get and install Gateway ST
Configure Gateway ST
Interactive Setup
Using an Access Grant
Run Gateway ST
Configure AWS CLI to use Gateway ST
Try it out!
Create a bucket
Upload an object
List objects in a bucket
Download an object
Generate a URL for an object
Delete an object
All Commands