DreamObjects is an Cloud-based Object Storage service provided by DreamHost. It’s powered by Ceph, and interfaces to the rest of the world via an S3-like interface.

I sometimes choose DreamObjects over S3, mainly because it’s cheaper. It can also be handy to have object storage with the same APIs available from multiple providers, for a bit of added redundancy.

The S3 API is well-supported by a number of libraries and applications. It’s also very easy to interface with cURL. Here’s a simple shell script I use to upload a single file to DreamObjects:

As you can see, it accepts four parameters:

  1. Path of source file
  2. Source filename
  3. Destination path (in your bucket)
  4. Bucket name

Make sure you set the DREAMKEY and DREAMSECRET variables within the function to the key and secret you were provided with in the DreamHost Panel.