MCPSERV.CLUB
Zenko CloudServer

Zenko CloudServer

Self-Hosted

S3‑compatible object storage for multi‑cloud and on‑prem

Active(100)
1.8kstars
0views
Updated 7 days ago

Overview

Discover what makes Zenko CloudServer powerful

Zenko CloudServer is a **fully Amazon S3‑compatible** object storage engine written in **Node.js**. It exposes the standard S3 REST/JSON API, allowing developers to build or test applications that target AWS S3 without incurring cloud costs. Internally, CloudServer routes all API calls to one or more backend storage layers—whether local disk, in‑memory, Docker volumes, or external cloud providers—while maintaining a consistent metadata store. The project is open source under the Apache 2.0 license and is part of Scality’s broader Zenko multi‑cloud controller stack.

S3 API Compatibility

Multi‑Backend Routing

Metadata & Data Separation

Extensible Plugin System

Overview

Zenko CloudServer is a fully Amazon S3‑compatible object storage engine written in Node.js. It exposes the standard S3 REST/JSON API, allowing developers to build or test applications that target AWS S3 without incurring cloud costs. Internally, CloudServer routes all API calls to one or more backend storage layers—whether local disk, in‑memory, Docker volumes, or external cloud providers—while maintaining a consistent metadata store. The project is open source under the Apache 2.0 license and is part of Scality’s broader Zenko multi‑cloud controller stack.

Key Features

  • S3 API Compatibility – Implements all core S3 operations (PUT/GET objects, LIST buckets, ACLs, tagging, lifecycle rules) and supports the newer S3‑select and multipart upload features.
  • Multi‑Backend Routing – A single logical bucket can be backed by multiple storage systems; CloudServer handles replication, failover, and load‑balancing across them.
  • Metadata & Data Separation – Metadata is stored in a separate namespace (default localMetadata) while object payloads reside under localData, enabling fine‑grained performance tuning.
  • Extensible Plugin System – Developers can plug in custom authentication, authorization, or storage adapters by extending the built‑in modules.
  • Docker‑Ready – A lightweight Docker image (zenko/cloudserver) ships with all runtime dependencies, making it trivial to spin up a local test environment or production cluster.

Technical Stack

LayerTechnology
RuntimeNode.js 10.x (LTS) with yarn package manager
CoreExpress‑style HTTP server handling S3 endpoints
Storage BackendsLocal filesystem (LevelDB/SQLite for metadata), in‑memory, Docker volumes, or external cloud SDKs
ConfigurationEnvironment variables (S3DATA, S3DATAPATH, S3METADATAPATH) or Docker Compose files
TestingJest/Chai for unit tests; integration tests against S3 mocks

The codebase is TypeScript‑compiled, ensuring type safety and enabling developers to contribute with minimal friction. The backend adapters are designed as pluggable modules, so adding support for new object stores (e.g., Ceph RADOS or Google Cloud Storage) is a matter of implementing the StorageAdapter interface.

Deployment & Infrastructure

  • Self‑Hosting – CloudServer runs on any Linux host with Node.js. It requires only a few megabytes of RAM and disk space for metadata; data volume is determined by the chosen backend.
  • Containerization – The official Docker image exposes port 8000 for S3 traffic and ports 9990/9991 for internal metadata/data transfer. Kubernetes manifests or Helm charts are available in the community repo.
  • Scalability – Horizontal scaling is achieved by running multiple CloudServer instances behind a load balancer. Each instance can point to distinct backend clusters, and the system automatically balances requests.
  • High Availability – By configuring multiple data backends, CloudServer can replicate objects across nodes or cloud regions, providing resilience against node failure.

Integration & Extensibility

  • SDK Compatibility – Any AWS SDK (JavaScript, Python, Java, Go) can talk to CloudServer out of the box. The same credentials (accessKey1/verySecretKey1 by default) are accepted.
  • Webhooks & Callbacks – Custom event hooks can be registered for lifecycle events (object creation, deletion) via the internal event bus.
  • Plugin API – Developers can inject custom authentication providers (OAuth, JWT) or storage adapters by extending the AuthProvider and StorageAdapter classes.
  • CLI & REST – A minimal command‑line tool (cloudserver-cli) exposes common S3 operations for scripting, and the REST API can be introspected via OpenAPI definitions.

Developer Experience

  • Documentation – Comprehensive docs hosted on ReadTheDocs cover architecture, API reference, and deployment guides. Inline TypeScript types aid IDE auto‑completion.
  • Community – Active GitHub issue tracker and Slack channel provide quick support. The project follows open‑source contribution guidelines, making pull requests straightforward.
  • Configuration Flexibility – All runtime parameters are environment‑driven, enabling seamless CI/CD integration. Docker Compose files illustrate typical multi‑backend setups.

Use Cases

  1. CI/CD Test Environments – Spin up a local S3 endpoint to run integration tests against object upload/download without hitting AWS.
  2. Hybrid Cloud Development – Prototype an application that will eventually run on Amazon S3, Scality RING, or any other cloud; develop locally with CloudServer.
  3. Data Migration – Use CloudServer as a staging layer to copy data between disparate storage backends while preserving S3 semantics.
  4. Edge Deployments – Run CloudServer on edge devices or Kubernetes clusters to provide a local object store for IoT applications.

Advantages Over Alternatives

CriterionCloudServerMinIO / Ceph RADOS
S3 Compatibility100% + extended APIs95–98%
Multi‑Backend FlexibilityNative multi‑storage routingRequires separate orchestrator
License & CostApache 2.0, freeOpen source but often commercial
Developer FriendlyTypeScript codebase, Docker imageGo‑based, less friendly for JS devs
Community & Support

Open SourceReady to get started?

Join the community and start self-hosting Zenko CloudServer today