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 runatomic-server
to start.
Atomic-Server's README contains more (and up-to-date) information about how to use it!