Browse the documentation

Deployment models

From an embedded library to optional hosted modules and a cluster.

Three shapes of deployment

ShapeWhat runsEditionStatus
Embedded Your application with the NetlyDB engine in-process, storing data in a local directory. Community Available
Embedded with hosted modules The same process additionally hosts the REST API, the Management UI and/or the MCP server, each on its own port. Enterprise (per module) Available
Cluster Several application processes, each with its own engine and full copy of the data, replicating peer-to-peer. Enterprise Available

The modules are registrations on the same service collection; adding one does not change how your application uses its collections.

builder.Services
    .AddNetlyDB(options =>
    {
        options.License.LicenseFilePath = "/etc/netlydb/netlydb.lic"; // the modules below are Enterprise features
        options.Security.ApiKeyHashes = [apiKeyHash];                 // required: the hosted modules authenticate by default
    })
    .AddNetlyDBCollection<Order>();

// Each module is a separate registration on the service collection.
builder.Services.AddNetlyDBAPI(port: 9020);
builder.Services.AddNetlyDBManagementUI(webappPort: 9021, apiPort: 9020);
builder.Services.AddNetlyDBMCP(port: 9026, path: "/mcp", maxResultLimit: 100, allowedCollections: ["Order"]);
The three deployment shapes: embedded, embedded with hosted modules, and a cluster 1 · Embedded your application DB local disk data in a local directory Community 2 · Embedded + hosted modules same process DB Management UI :9021 REST API :9020 MCP server :9026 each on its own port, bound to localhost Enterprise, per module 3 · Cluster each process holds a full copy and replicates peer-to-peer Enterprise across machines since 1.1
The three shapes. The hosted modules run inside the same process as the engine, each on its own localhost port; a cluster is several such processes, each with a full copy.

Network exposure

  • The REST API, Management UI and MCP server bind to localhost. Reaching them from another machine requires a reverse proxy you configure and secure.
  • An unclustered node's internal listeners bind to loopback only; see what an embedded host starts.
  • The hosted modules require authentication by default and refuse to start without credentials; see Authentication.

Third-party packages for the modules

Each hosted module ships inside NetlyDB.SDK, but the third-party packages it needs (for example ASP.NET Core OpenAPI and JWT packages, or the Model Context Protocol SDK) are referenced by your application. Without them the registration throws NetlyDBOptionalFeatureUnavailableException (NDB-LIFE-0064) naming what is missing. The list is on Packages.

Not available

Remote client access - an application using a NetlyDB database that runs in another process through the SDK's collection API - is not available. Out-of-process access is through the REST API or MCP server. A supported remote client is under consideration for the roadmap, and may not be built.

An unhandled error has occurred. Reload X

Reconnecting

Restoring the connection to the server...

Still trying

Next attempt in seconds

Connection lost

We could not reach the server.