Skip to main content

Atomic Server

Atomic-Serverโ€‹

Atomic-Server is a graph database server for storing and sharing typed linked data. It's free, open source (MIT license), and has a ton of features:

  • โš›๏ธ Dynamic schema validation / type checking using Atomic Schema. Combines safety of structured data with the
  • ๐Ÿš€ Fast (1ms responses on my laptop)
  • ๐Ÿชถ Lightweight (15MB binary, no runtime dependencies)
  • ๐Ÿ’ป Runs everywhere (linux, windows, mac, arm)
  • ๐ŸŒ Embedded server with support for HTTP / HTTPS / HTTP2.0 and Built-in LetsEncrypt handshake.
  • ๐ŸŽ›๏ธ Browser GUI included powered by atomic-data-browser. Features dynamic forms, tables, authentication, theming and more.
  • ๐Ÿ’พ Event-sourced versioning / history powered by Atomic Commits
  • ๐Ÿ”„ Synchronization using websockets: communicates state changes with a client. Send a wss request to /ws to open a webscocket.
  • ๐Ÿงฐ Many serialization options: to JSON, JSON-AD, and various Linked Data / RDF formats (RDF/XML, N-Triples / Turtle / JSON-LD).
  • ๐Ÿ”Ž Full-text search with fuzzy search and various operators, often <3ms responses.
  • ๐Ÿ“– Pagination, sorting and filtering using Atomic Collections
  • ๐Ÿ” Authorization (read / write permissions) and Hierarchical structures powered by Atomic Hierarchy
  • ๐Ÿ“ฒ Invite and sharing system with Atomic Invites
  • ๐Ÿ“‚ File management: Upload, download and preview attachments.
  • ๐Ÿ–ฅ๏ธ Desktop app: Easy desktop installation, with status bar icon, powered by tauri.

Running Atomic-Server locally (optional)โ€‹

In this guide, we'll can simply use atomicdata.dev in our browser without installing anything. So you can skip this step and go to Creating your first Atomic Data. But if you want to, you can run Atomic-Server on your machine in a couple of ways:

  • Using a desktop installer: download a desktop release from the releases page and install it using your desktop GUI.
  • Using a binary: download a binary release from the releases page and open it using a terminal.
  • Using Docker is probably the quickest: docker run -p 80:80 -p 443:443 -v atomic-storage:/atomic-storage joepmeneer/atomic-server.
  • Using Cargo: cargo install atomic-server and then run atomic-server to start.

Atomic-Server's README contains more (and up-to-date) information about how to use it!