Getting started

Storj is the leading provider of enterprise-grade, globally distributed cloud object storage.

It is a drop-in replacement for any S3-compatible object storage that is just as durable but with 99.95% availability and better global performance from a single upload.

Storj delivers default multi-region CDN-like performance with zero-trust security at a cost that’s 80% lower than AWS S3.

Before you begin

To get started, create an account with Storj. You'll automatically begin a free trial that gives you access to try our storage with your third-party tool or project.

Sign up

If you've never used Storj before, sign up for a new Storj account

Log in

If you already have a Storj account, log in to get started

Generate S3 compatible credentials

Storj has an Amazon S3 compatible API and you'll need generate S3 credentials to use it. S3 credentials consist of an access key, secret key, and endpoint.

Create S3 credentials in the Storj console:

  1. Navigate to Access Keys on the left side menu.

  2. Click the New Access Key button.

  3. When the New Access dialog comes up, set specifications according to the following guidelines:

    • Name: The name of the credentials (e.g. my-access)
    • Type: S3 Credentials
  4. Choose Full Access or Advanced

    • In most cases, you DO NOT want to choose full access.
  5. Provide Access encryption Information

    In order to see the data uploaded to your bucket in the Storj console, you must unlock the bucket with the same encryption passphrase as the credentials.

    • Use the current passphrase: this is default option
    • Advanced: you may provide a different encryption phrase either your own or generate a new one.
      • Enter a new passphrase: use this option, if you would like to provide your own new encryption phrase
      • Generate 12-word passphrase: use this option, if you would like to generate a new encryption phrase
  6. Select the permissions you want to allow:

    • Read
    • Write
    • List
    • Delete
  7. Select the object lock permissions you want to allow

    • PutObjectRetention
    • GetObjectRetention
    • BypassGovernanceRetention
    • PutObjectLegalHold
    • GetObjectLegalHold
    • PutObjectLockConfiguration
    • GetObjectLockConfiguration
  8. Choose the buckets you want the access to include:

    • All Buckets
    • Select Buckets
  9. Set an expiration

  10. Click Create Access to finish creation of your S3 credentials

  11. Your S3 credentials are created. Write them down and store them, or click the Download all button. You will need these credentials for the following steps.

Object Lock Permission Details

Permission NameDescription
PutObjectRetentionAllows you to set retention policies, protecting objects from deletion or modification until the retention period expires.
GetObjectRetentionAllows you to view the retention settings of objects, helping ensure compliance with retention policies.
BypassGovernanceRetentionAllows you to bypass governance-mode retention, enabling deletion of objects before the retention period ends.
PutObjectLegalHoldAllows you to place a legal hold on objects, preventing deletion or modification regardless of retention policies.
GetObjectLegalHoldAllows you to view the legal hold status of objects, which is useful for auditing and compliance purposes.
PutObjectLockConfigurationAllows you to set retention policies on the specified bucket, automatically applying them to every new object added to that bucket.
GetObjectLockConfigurationAllows you to view the default retention policies configured for the specified bucket.

Install command-line tools

Storj works with a variety command-line tools. Rclone is recommended for its compatibility with various cloud providers and ease of use.

However, some may already be familiar with AWS CLI which is also a suitable option.

  1. Install rclone

    sudo -v ; curl https://rclone.org/install.sh | sudo bash
    sudo -v ; curl https://rclone.org/install.sh | sudo bash

    Or use an alternative method

  2. Configure rclone

    Edit the rclone config file directly, you can find where it is stored by running the following:

    $
    rclone config file

    Configuration file is stored at:
    /Users/dan/.config/rclone/rclone.conf
    $
    rclone config file

    Configuration file is stored at:
    /Users/dan/.config/rclone/rclone.conf

    In rclone.conf, set the access_key_id and secret_access_key with the S3 compatible credentials created above.

    ~/.config/rclone/rclone.conf
    [storj]
    type = s3
    provider = Storj
    access_key_id = access_key # REPLACE ME
    secret_access_key = secret_key # REPLACE ME
    endpoint = gateway.storjshare.io
    chunk_size = 64Mi
    disable_checksum: true
    [storj]
    type = s3
    provider = Storj
    access_key_id = access_key # REPLACE ME
    secret_access_key = secret_key # REPLACE ME
    endpoint = gateway.storjshare.io
    chunk_size = 64Mi
    disable_checksum: true

Create a bucket

Now that the command-line tool is configured, let's make a bucket to store our files.

$
rclone mkdir storj:my-bucket
$
rclone mkdir storj:my-bucket

List buckets

The bucket will show up in our bucket list (not to be mistaken with a life's to-do list)

# `lsf` is non-recursive, while `ls` is recursive
$
rclone lsf storj:
my-bucket/
# `lsf` is non-recursive, while `ls` is recursive
$
rclone lsf storj:
my-bucket/

Upload file

Next we'll upload a file. Here is an example image of a tree growing hard drives (while Storj doesn't grow hard drives on trees, it does emphasize sustainability). Right-click on it and save as storj-tree.png to your Downloads.

Copy the file to your bucket.

$
rclone copy ~/Downloads/storj-tree.png storj:my-bucket/
$
rclone copy ~/Downloads/storj-tree.png storj:my-bucket/

Download file

To retrieve the file, use the same command as upload but reverse the order of the arguments

$
rclone copy storj:my-bucket/ ~/Downloads/storj-tree-2.png
$
rclone copy storj:my-bucket/ ~/Downloads/storj-tree-2.png

List files

Let's see what files we have in the bucket.

$
rclone ls storj:my-bucket

133220 storj-tree.png
$
rclone ls storj:my-bucket

133220 storj-tree.png

Yep there's the Storj tree!

Delete file

Okay time to remove the file.

$
rclone deletefile storj:my-bucket/storj-tree.png
$
rclone deletefile storj:my-bucket/storj-tree.png

Delete buckets

Last but not least, we'll delete the bucket.

$
rclone rmdir storj:my-bucket
$
rclone rmdir storj:my-bucket

Delete a non-empty bucket

$
rclone purge storj:my-bucket
$
rclone purge storj:my-bucket

Next Steps

Congratulations on getting started with Storj!

Previous
Overview