Skip to content

ontola/atomic-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,719 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AtomicServer

crates.io Discord chat MIT licensed github

Create, share, fetch and model Atomic Data! AtomicServer is a lightweight, yet powerful CMS / Graph Database. Demo on atomicdata.dev. Docs on docs.atomicdata.dev

This repo also includes:

Status: alpha. Breaking changes are expected until 1.0.

AtomicServer

  • 🏠 Local-first: create and edit data with no server at all. Resources are addressed by did:ad identifiers and resolve peer-to-peer over the Mainline DHT, so an identity is a keypair you hold rather than an account on someone else's machine. Edits are signed CRDT commits that merge when you reconnect.
  • 🔒 Encrypted at rest, per agent: each agent's in-browser database is encrypted with XChaCha20-Poly1305, under a key wrapped by that agent's own private key. Signing out leaves the cache in place but unreadable to the next session — no wipe required.
  • 🔑 Passkey-backed recovery: a WebAuthn passkey wraps the backup of your agent secret (Argon2id + AES-GCM), so onboarding hands you nothing to write down, and a lost device doesn't have to mean a lost account.
  • 🚀 Fast (less than 1ms median response time on my laptop), powered by actix-web and redb
  • 🪶 One self-contained binary (~70MB): server, web app, full-text search and database in a single file, with no runtime dependencies and nothing to install alongside it.
  • 💻 Runs everywhere (linux, windows, mac, arm)
  • 🔧 Custom data models: create your own classes, properties and schemas using the built-in Ontology Editor. All data is verified and the models are sharable using Atomic Schema
  • ⚙️ Restful API, with JSON-AD responses.
  • 🔎 Full-text search with fuzzy search and various operators, often <3ms responses. Powered by tantivy.
  • AI with MCP support, use any model via OpenRouter or host your own with Ollama.
  • 🗄️ Tables, with strict schema validation, keyboard support, copy / paste support. Similar to Airtable.
  • 📄 Documents, collaborative, rich text, similar to Google Docs / Notion.
  • 💬 Group chat, performant and flexible message channels with attachments, search and replies.
  • 📂 File management: Upload, download and preview attachments.
  • 💾 Event-sourced versioning / history powered by Atomic Commits
  • 🔄 Real-time synchronization: instantly communicates state changes with a client. Build dynamic, collaborative apps using websockets (using a single one-liner in react or svelte).
  • 🧰 Many serialization options: to JSON, JSON-AD, and various Linked Data / RDF formats (RDF/XML, N-Triples / Turtle / JSON-LD).
  • 📖 Pagination, sorting and filtering queries using Atomic Collections.
  • 🔐 Authorization (read / write permissions) and Hierarchical structures powered by Atomic Hierarchy
  • 📲 Invite and sharing system with Atomic Invites
  • 🌐 Embedded server with support for HTTP / HTTPS / HTTP2.0 (TLS) and Built-in LetsEncrypt handshake.
  • 📱 Runs on mobile: atomic_lib compiles into Flutter apps through flutter_rust_bridge, so phones get the same local-first store, signing and peer sync as the browser — not a thin REST wrapper. See /flutter.
  • 📚 Libraries: Javascript / Typescript, React, Svelte, Rust, and a Dart / Flutter client
Atomic.Data.Screencap.mp4

Documentation

Check out the documentation for installation instructions, API docs, and more.

Contribute

Issues and PRs are welcome! And join our Discord! Read more in the Contributors guide.

About

An open source headless CMS / real-time database. Powerful table editor, full-text search, and SDKs for JS / React / Svelte.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages