Skip to content

alezzandro/s4

 
 

Repository files navigation

S4 - Super Simple Storage Service

S4 is a lightweight, self-contained S3-compatible storage solution with a web-based management interface.

Perfect for POCs, development environments, demos, and simple deployments where a full-scale object storage solution is overkill.

It combines Ceph RADOS Gateway (RGW) backed by a standard filesystem and a modern UI into a single, easy-to-deploy container.

S4 provides full S3 API compatibility while requiring minimal resources and configuration.

main-panel.png

Quick Start (local)

# Run S4 with persistent storage
podman run -d \
  --name s4 \
  -p 5000:5000 \
  -p 7480:7480 \
  -v s4-data:/var/lib/ceph/radosgw \
  quay.io/rh-aiservices-bu/s4:latest

# Access the web UI
open http://localhost:5000

# Use S3 API with default credentials
export AWS_ACCESS_KEY_ID=s4admin
export AWS_SECRET_ACCESS_KEY=s4secret
export AWS_ENDPOINT_URL=http://localhost:7480
aws s3 mb s3://my-bucket

Quick Start (OpenShift/Kubernetes)

# Clone the repository
git clone https://github.com/rh-aiservices-bu/s4.git
cd s4

# Install with Helm
helm install s4 ./charts/s4 --namespace s4 --create-namespace

# Access the web UI (OpenShift - route is created automatically)
oc get route s4 -n s4 -o jsonpath='{.spec.host}'

# Access the web UI (Kubernetes - port forward)
kubectl port-forward svc/s4 5000:5000 -n s4
# Then open http://localhost:5000

For advanced configuration options (authentication, storage sizing, ingress, etc.), see the Deployment Guide.

User Guide

For detailed instructions on using S4 — browsing storage, managing buckets, transferring files, importing HuggingFace models, and more — see the User Guide.

Key Features

  • S3-Compatible API - Full AWS S3 API compatibility on port 7480
  • Web Management UI - Modern React interface for storage operations on port 5000
  • Lightweight - Single container deployment with minimal resources needed
  • Bucket Management - Create, list, and delete S3 buckets
  • Object Operations - Upload, download, browse, and delete objects
  • Standard Filesystem Operations - Browse and manage mounted filesystem/PVC storage
  • Cross-Storage Transfers - Transfer files between storage locations in any combination (S3 ↔ PVC, S3 ↔ S3, PVC ↔ PVC)
  • HuggingFace Integration - Direct model import from HuggingFace Hub

Documentation

  • Getting Started - Installation, configuration, and quick start guides
  • Architecture - System design, components, and data flow
  • API Reference - Complete API documentation with examples
  • Development - Contributing, testing, and development guides
  • Deployment - Docker, Kubernetes, OpenShift, and production deployment
  • Security - Security policy, authentication, and best practices
  • Operations - Monitoring, troubleshooting, and FAQ

License

Apache 2.0

About

Super Simple Storage Service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 95.6%
  • JavaScript 2.0%
  • CSS 1.1%
  • Dockerfile 0.4%
  • Makefile 0.4%
  • Go Template 0.3%
  • Other 0.2%