AGPL-3.0 · SELF-HOSTED
DATAMART
A structured information platform you run yourself — schema, access control, workflows and an admin UI in one binary, over PostgreSQL or SQLite, with every space exportable as plain files.
- ≤300MEntries Supported
- 4Client SDKs
- ~70 MBSingle Binary, No Runtime
- 106 MBFull Stack, Idle
DMART in 30 seconds
-
A space organizes your data into folders. A schema describes a valid entry, and dmart checks every write against it.
-
JSON entries, files and tickets all go in. Each one is an indexed row in PostgreSQL or SQLite, and any space exports to plain files.
-
Roles and permissions are checked on every request, down to the folder, the action and the field.
-
One query language searches everything you stored: filter on any field, sort, and page through the results.
-
A REST API, SDKs for Python, TypeScript, Dart and C#, an admin UI, a catalog, and an MCP server for AI agents, all from one binary.
Core Pillars
Unified Data
Entries, attachments, metadata — all in one model. Structured and unstructured data, seamlessly.
Powerful Search
Full-text search, filtering, aggregation. Powered by SQL full-text blazing performance.
Access Control
Role-based access, granular permissions down to folder and entry level. Secure by default.
Extensible
Plugin architecture, realtime WebSocket events, custom workflows. Adapt DMART to any use case.
Runs Where a Backend Normally Can’t
One self-contained binary, compiled ahead of time. No runtime to install, no container required, no separate frontend to deploy — the admin UI ships inside it.
Measured on a Raspberry Pi Zero 2 W with 416 MB of usable RAM, serving with PostgreSQL alongside it on the same board: 106 MB resident for the whole stack, ~14 ms warm reads, and four concurrent logins served with a bounded peak that is fully reclaimed. A 10-hour continuous write soak held memory flat — a plateau, not a slope — with no OOM and no thermal throttling. The same binary runs on a server.
- 106 MB
- dmart + PostgreSQL, idle, of 416 MB
- ~14 ms
- warm read, 5,000-entry fixture
- 0.6 GB/day
- written under sustained load — ~460 yr on a 100 TBW card
Your Data Stays Yours
Export everything as plain files
dmart export writes any space out as plain JSON files and its attachments, and dmart import loads them into a fresh instance on PostgreSQL or SQLite. Your data never depends on dmart to get out.
Standard formats, not a vendor schema
Payloads are JSON, constrained by JSON Schema Draft 7 and evaluated by a standard library. There is no dmart-specific type system to migrate out of.
Self-hosted, AGPL-3.0
Run it on your hardware, in your network, air-gapped if you need to. No per-seat pricing and no hosted service you depend on.
How It Works
- 01
Define Your Space
Create spaces and organize data into hierarchical folders — just like a file system.
- 02
Store Anything
Create entries with JSON payloads, attach files, add metadata. Schema-validated or free-form.
- 03
Query & Discover
Full-text search, filter by any field, sort, paginate. All through a consistent REST API.
- 04
Integrate Everywhere
Use official SDKs for Python, TypeScript, Dart, and C#/.NET. Or call the REST API directly.
Explore
Features
Unified data management, collaboration tools, and advanced search capabilities.
Why DMART?
Transform data from a liability into an asset. Own your data, no vendor lock-in.
Technical
ASP.NET Core on .NET, on PostgreSQL or SQLite. A single Native-AOT binary — built for simplicity and speed.
Drivers
Official client libraries for Python, TypeScript/JavaScript, Dart/Flutter, and C#/.NET.