Storing files and assets on Clever Cloud just got easier. After a year of beta testing, we’re proud to release Cellar: a S3-compatible file storage API.

Cellar is faster, cheaper and more reliable thanks to its distributed architecture.

If you’re using FS buckets or storing files in your database, switching to Cellar will make your life easier: files can be directly uploaded to and downloaded from Cellar, without ever going through your application. This way you can handle large files without a hassle.

Cellar is perfect for:

  • user avatars
  • large files (images, videos)



  • First 100MB Free
  • First 1TB € 20.48 / TB / mo
  • First 25TB € 15.36 / TB / mo
  • First 50TB € 10.24 / TB / mo

Traffic (outbound)

  • First 100MB Free
  • First 10TB € 0.09 / GB / mo
  • First 40TB € 0.07 / GB / mo

Getting started with Cellar and s3cmd

Create a new Cellar addon in the Clever Cloud console. From the addon dashboard, you will be able to get your access credentials, as well as to download a s3cmd configuration file to manage your files on Cellar.

Create a bucket

In cellar, files are stored in buckets, accessible under To start using cellar, you first have to create a bucket for your files.

You can create a bucket with s3cmd (make sure you have saved the s3cmd configuration file under ~/.s3cfg).

s3cmd mb s3://my-bucket

Upload a file

  # private file
  s3cmd put my-private-file.jpg s3://my-bucket/my-private-file.jpg

# publicly accessible file s3cmd put -P my-public-file.jpg s3://my-bucket/my-public-file.jpg

Using Cellar from Node JS

You can use Cellar from any S3-compatible SDK (including the official AWS SDKs) or directly through its REST API.

  require fs from 'fs';
  require AWS from 'aws-sdk';

// Initialize Cellar Credentials AWS.config.update({accessKeyId: '<access key>', secretAccessKey: '<access secret>'}); const ep = new AWS.Endpoint(''); const s3 = new AWS.S3({ endpoint: ep });

// Upload a file to Cellar const body = fs.createReadStream('./my-file.jpg'); s3.putObject({Bucket: 'my-bucket', Key: 'my-file.jpg', Body: body}, (err, data) => { if (err) console.error(err); else console.log("Successfully uploaded data to my-bucket/my-file.jpg"); });

// Get an access URL for a private file s3.getSignedUrl('getObject', {Bucket: 'my-bucket', Key: 'my-private-file'}, (err, url) => { if(err) console.log(err); else console.log("The URL is", url); });

More information

Clever Cloud Cellar is backed by the rock solid Riak Simple Storage (aka Riak S2) from Basho.

Talk about cloud file storage: slides from our CTO Documentation:

Using Cellar from Node.js with AWS SDK: SDK documentation

Cellar's S3 compatible API: Riak S2 API documentation

Profile picture of Clément Nivolle
By Clément Nivolle

Chief Marketing Officer and co-founder of Clever Cloud. Clement is also in charge of the global user experience.