Skip to content
On this page

Getting Started

Get Shelves running in minutes.

Installation

From Source

bash
git clone https://github.com/verbjs/shelves.git
cd shelves
bun install
bun run start

With Docker

bash
docker run -d \
  -p 9000:9000 \
  -p 9001:9001 \
  -v shelves-data:/data \
  -e SHELVES_ACCESS_KEY=mykey \
  -e SHELVES_SECRET_KEY=mysecret \
  verbjs/shelves

With Docker Compose

yaml
version: '3.8'
services:
  shelves:
    image: verbjs/shelves
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      - SHELVES_ACCESS_KEY=mykey
      - SHELVES_SECRET_KEY=mysecret
    volumes:
      - shelves-data:/data

volumes:
  shelves-data:

Verify Installation

Check that Shelves is running:

bash
curl http://localhost:9000/

Access the admin dashboard at http://localhost:9001

Create Your First Bucket

bash
curl -X PUT \
  -H "x-shelves-access-key: shelvesadmin" \
  -H "x-shelves-secret-key: shelvesadmin" \
  http://localhost:9000/my-bucket

Upload a File

bash
curl -X PUT \
  -H "x-shelves-access-key: shelvesadmin" \
  -H "x-shelves-secret-key: shelvesadmin" \
  -H "Content-Type: text/plain" \
  -d "Hello, Shelves!" \
  http://localhost:9000/my-bucket/hello.txt

Download a File

bash
curl -H "x-shelves-access-key: shelvesadmin" \
     -H "x-shelves-secret-key: shelvesadmin" \
     http://localhost:9000/my-bucket/hello.txt

Next Steps

Released under the MIT License.