Sign inSign up

endurasolution/opendbs

By endurasolution

•Updated 2 days ago

High-performance database with SQL, NoSQL, and vector search powered by Node.js and Rust.

Image
Developer tools
Databases & storage
0

1.5K

endurasolution/opendbs repository overview

⁠OpenDBS

High-Performance Database with Node.js & Rust Architecture

OpenDBS is a lightweight, high-performance database system designed for modern applications. It combines the ease of use of a Node.js API with the raw speed and safety of a Rust storage engine.

⁠🚀 Key Features

  • Hybrid Data Model: Full support for both SQL (Relational) and NoSQL (Document) workloads in the same database.
  • Vector Search: Built-in support for vector embeddings and semantic search.
  • Fuzzy Search: Lightning-fast fuzzy matching for text fields.
  • Crash Proof: Rust-based engine ensures data integrity and system stability.
  • Lightweight: Runs efficiently on minimal hardware (perfect for edge computing).
  • Developer Friendly: Native clients for Node.js, Python, PHP, Java, and Flutter.

⁠📦 Quick Start

Start a database instance in seconds:

docker run -d \
  -p 4402:4402 \
  --name opendbs \
  endurasolution/opendbs:latest

Once running, the API is available at http://localhost:4402.

⁠Health Check
curl http://localhost:4402/health
# Output: {"status":"ok","version":"0.1.5"}

⁠🛠 Configuration

You can configure OpenDBS using environment variables:

VariableDescriptionDefault
PORTThe port the server listens on4402
ADMIN_USERInitial admin usernameadmin
ADMIN_PASSWORDInitial admin passwordadmin123
JWT_SECRETSecret for auth tokens (Recommended to change)auto-generated

Example with custom credentials:

docker run -d \
  -p 4402:4402 \
  -e ADMIN_USER="superuser" \
  -e ADMIN_PASSWORD="mysecretpassword" \
  endurasolution/opendbs:latest

⁠🔐 Security Features (v0.1.5)

⁠Engine Hardening
  • Prototype-pollution guard — blocks reserved keys (__proto__, constructor, prototype) in matchesQuery before evaluation.
  • Regex complexity guard — rejects patterns that may trigger catastrophic backtracking (ReDoS).
⁠Auth Hardening
  • Brute-force lockout — accounts are temporarily locked after repeated failed login attempts.
  • Password-strength enforcement — minimum complexity rules applied at registration.
  • Timing-safe API key compare — uses crypto.timingSafeEqual to prevent timing-based key enumeration.
⁠Settings / SQL Hardening
  • Secret masking — sensitive env values (SECRET, PASSWORD, KEY, TOKEN) are redacted in the /settings GET response.
  • SQL error sanitisation — raw query strings are stripped from error responses returned to clients.

⁠📚 Documentation

⁠📡 Clients

  • Node.js: npm install opendbs
  • Python: pip install opendbs
  • PHP: composer require opendbs/client
  • Java: mvn dependency:get ...
  • Flutter: flutter pub add opendbs

⁠📄 License

OpenDBS is distributed under the MIT License⁠.

Tag summary

Content type

Image

Digest

sha256:66aab7dcc…

Size

90.8 MB

Last updated

2 days ago

docker pull endurasolution/opendbs