EzyBackend is a modern, open-source Backend-as-a-Service (BaaS) platform built with Node.js 20+. It provides real-time database, file storage, user authentication, access control, and offline-first support β all in one comprehensive platform.
Based on CloudBoost: EzyBackend is a modernized fork of the original CloudBoost project, updated for Node.js 20+ with modern tooling and enhanced security.
Think of it as Firebase + Parse + Supabase β fully open-source and self-hosted.
- ποΈ Real-time Database - JSON & BLOB storage with live updates
- π Search & Query Engine - Advanced data querying and indexing
- π Authentication System - OAuth providers + local auth
- π₯ Role-Based Access Control - Granular permissions and ACL
- π File Storage - GridFS-based file management
- π Real-time Subscriptions - WebSocket support via Socket.IO
- π± Offline-first Support - Client-side data persistence
- π’ Multi-tenant Architecture - Support for multiple applications
- π³ Docker Ready - Production-ready containerization
- π Self-hosted - Complete data ownership and control
- β‘ Node.js 20+ - Modern JavaScript with latest features
- π‘οΈ Security Hardened - Updated dependencies and best practices
EzyBackend is designed for easy deployment with Docker:
# Clone the repository
git clone https://github.com/Jitenderkumar2030/ezybackend.git
cd ezybackend
# Start with Docker Compose
docker-compose up -d
Services will be available at:
- ποΈ Dashboard: http://localhost:1440
- π§ Data Service: http://localhost:4730
- π€ User Service: http://localhost:3000
- Node.js 20+ (LTS recommended)
- MongoDB 4.4+
- Redis 6.0+
git clone https://github.com/Jitenderkumar2030/ezybackend.git
cd ezybackend
npm install
Create a /config/ezybackend.json
file:
{
"mongo": [{
"host": "localhost",
"port": "27017"
}],
"redis": [{
"host": "127.0.0.1",
"port": 6379
}]
}
Create /config/smtp.json
:
{
"provider": "mailgun",
"apiKey": "YOUR_MAILGUN_KEY",
"domain": "yourdomain.com",
"fromEmail": "noreply@yourdomain.com",
"fromName": "EzyBackend"
}
Place cert.crt
and key.key
inside /config
to enable HTTPS.
Ensure Redis and MongoDB are running, then:
node server.js
Use your secureKey
from console to create an app:
curl -H "Content-Type: application/json" -X POST \
-d '{"secureKey":"<YOUR_SECURE_KEY>"}' \
http://localhost:4730/app/myApp
π¦ Install via NPM:
npm install ezy-sdk
// Initialize app
const CB = require('ezy-sdk');
CB.CloudApp.init('https://localhost', 'YourAppID', 'YourAppKey');
// Create and save object
let obj = new CB.CloudObject('Custom');
obj.set('name', 'EzyBackend');
obj.save({
success: res => console.log("Saved!"),
error: err => console.error("Error:", err)
});
You are responsible for:
- MongoDB/Redis uptime, scaling, sharding
- EzyBackend version upgrades
- Backup, monitoring, scaling via Docker
Weβre working on a SaaS version of EzyBackend β stay tuned.
ezybackend/
βββ user-service/
βββ data-service/
βββ dashboard-ui/
βββ sdk/
βββ config/
βββ docs/
Pull requests are welcome! Please read the CONTRIBUTING.md
first.
- GitHub Issues: Open an Issue
- Email: jitender@example.com (or update this)
- Community Discord (Coming Soon)
EzyBackend is licensed under the Apache License 2.0.
EzyBackend is based on the original CloudBoost project:
- Original Project: CloudBoost by HackerBay, Inc.
- Original License: Apache License 2.0
- Original Authors: Nawaz Dhandala, Ritish Gumber, and the CloudBoost community
- Modernization: Updated for Node.js 20+ by Jitender Kumar
We extend our gratitude to the original CloudBoost team and community for creating this excellent foundation.
---