GithubHelp home page GithubHelp logo

cloudinaryltd / scality-s3 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scality/cloudserver

1.0 20.0 0.0 31.42 MB

An open-source Node.js implementation of a server handling the S3 protocol

Home Page: http://s3.scality.com

License: Apache License 2.0

Shell 0.19% JavaScript 98.12% C 0.28% HTML 0.04% Python 0.11% Ruby 0.24% Java 0.41% Perl 0.61%

scality-s3's Introduction

Scality S3 Server

S3 Server logo

CircleCI Scality CI Docker Pulls Docker Pulls

Learn more at s3.scality.com

Docker

Run your S3 server with Docker

Contributing

In order to contribute, please follow the Contributing Guidelines.

Installation

Dependencies

Building and running the Scality S3 Server requires node.js 6.9.5 and npm v3 . Up-to-date versions can be found at Nodesource.

Clone source code

git clone https://github.com/scality/S3.git

Install js dependencies

Go to the ./S3 folder,

npm install

Run it with a file backend

npm start

This starts an S3 server on port 8000. Two additional ports 9990 and 9991 are also open locally for internal transfer of metadata and data, respectively.

The default access key is accessKey1 with a secret key of verySecretKey1.

By default the metadata files will be saved in the localMetadata directory and the data files will be saved in the localData directory within the ./S3 directory on your machine. These directories have been pre-created within the repository. If you would like to save the data or metadata in different locations of your choice, you must specify them with absolute paths. So, when starting the server:

mkdir -m 700 $(pwd)/myFavoriteDataPath
mkdir -m 700 $(pwd)/myFavoriteMetadataPath
export S3DATAPATH="$(pwd)/myFavoriteDataPath"
export S3METADATAPATH="$(pwd)/myFavoriteMetadataPath"
npm start

Run it with multiple data backends

export S3DATA='multiple'
npm start

This starts an S3 server on port 8000. The default access key is accessKey1 with a secret key of verySecretKey1.

With multiple backends, you have the ability to choose where each object will be saved by setting the following header with a locationConstraint on a PUT request:

'x-amz-meta-scal-location-constraint':'myLocationConstraint'

If no header is sent with a PUT object request, the location constraint of the bucket will determine where the data is saved. If the bucket has no location constraint, the endpoint of the PUT request will be used to determine location.

See the Configuration section below to learn how to set location constraints.

Run it with an in-memory backend

npm run mem_backend

This starts an S3 server on port 8000. The default access key is accessKey1 with a secret key of verySecretKey1.

scality-s3's People

Contributors

laurenspiegel avatar rahulreddy avatar nicolas2bert avatar electrachong avatar alexandre-merle avatar adrienverge avatar giorgioregni avatar dora-korpar avatar ploki avatar rachedbenmustapha avatar lamphamsy avatar vrancurel avatar jonathan-gramain avatar cdersky avatar guillaumegomez avatar ahohen avatar tiduster avatar darkhelmet avatar erudinsky avatar jmunoznaranjo avatar michel-kraemer avatar mikeys avatar thibaultriviere avatar

Stargazers

Magnus Jurdal avatar

Watchers

Tal Lev-Ami avatar Daniel Cohen avatar Ran Rubinstein avatar Vladimir Shteinman avatar Mike Krimerman avatar Itai Benari avatar Nadav Soferman avatar James Cloos avatar  avatar Edo Shor avatar Max Rozenoer avatar Eitan Peer avatar Eric Portis avatar Ariel Caplan avatar Maya Shavin avatar  avatar Nadav Ofir avatar  avatar Nir Reuveny avatar Magnus Jurdal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.