Deployment models
From an embedded library to optional hosted modules and a cluster.
Three shapes of deployment
| Shape | What runs | Edition | Status |
|---|---|---|---|
| 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"]);
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.