Git Product home page Git Product logo

picoceph's Introduction

picoceph

Run Ceph and RADOS Gateway (RGW) in a single Docker container. Useful for developing and testing S3 applications.

Usage

Start

docker run --rm --name picoceph --privileged -v /dev:/dev -v /lib/modules:/lib/modules:ro -p7480:7480 -p8080:8080 ghcr.io/dpeckett/picoceph:latest

S3

The RADOS Gateway S3 service is available at http://localhost:7480.

Create an S3 User

To create an admin user, run the following command:

docker exec -it picoceph radosgw-admin user create --uid="admin" --display-name="Admin User" --caps="users=*;buckets=*;metadata=*;usage=*;zone=*"

Create an S3 Access Key

To create a static key for the user, run the following command:

docker exec -it picoceph radosgw-admin key create --uid="admin" --key-type=s3 --access-key=admin --secret-key=admin

Dashboard

The Ceph dashboard is available at http://localhost:8080.

Create a Dashboard User

To create an admin user, run the following command:

docker exec -it picoceph sh -c "echo 'p@ssw0rd' | ceph dashboard ac-user-create admin -i - administrator"

picoceph's People

Contributors

dpeckett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

picoceph's Issues

Support for Docker Desktop on Mac (Apple Silicon)

Hello,

This project is fantastic! It is precisely what I'm looking for! Which is a small Ceph deployment with S3 support to experiment locally. I plan to replace MinIO with picoceph.

I can run picoceph in Ubuntu machines, amd64 (QEMU), and aarch64 (Parallels).

I'm using Parallels on Mac to install Ubuntu (and the docker.io Debian package) and then run picoceph within the VM (aarch64). I used Parallels as a test base to see if I could run picoceph on the Mac machine, and it worked!

But I need to run it straight on Mac using Docker Desktop without relying on Parallels. I plan to use Docker Compose as well. Since the Docker Desktop on Mac uses Virtual Machines behind the scenes, and it worked on Parallels (a VM), it should work—the issue I'm facing is with the NBD; could picoceph use a loopback device instead?

So, when I try to run it straight on Mac, here's the error:

➜  ~ docker run --rm --name picoceph -p7480:7480 ghcr.io/bucket-sailor/picoceph:latest
time=2024-02-20T23:26:00.073Z level=INFO msg="Creating ceph directories"
time=2024-02-20T23:26:00.073Z level=INFO msg="Writing ceph.conf"
time=2024-02-20T23:26:00.073Z level=INFO msg="Configuring manager"
time=2024-02-20T23:26:00.073Z level=INFO msg="Configuring monitor"
time=2024-02-20T23:26:00.073Z level=INFO msg="Creating OSD device"
time=2024-02-20T23:26:00.074Z level=INFO msg="Configuring RADOS Gateway"
time=2024-02-20T23:26:00.081Z level=ERROR msg="Could not run picoceph" error="could not create OSD device: could not load nbd module: exit status 1: "

I need to become more familiar with Mac internals. I researched online and couldn't find any information about how to fix this. I also read a message on Reddit stating that it should be possible, but I need help locating instructions.

Is this an issue with picoceph that perhaps needs to add support for Docker Desktop on Macs, or is it outside its scope?

NOTE: The Docker Desktop is running on my Mac; I can start other Docker containers as usual.

Thanks!

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.