Skip to content
Timo Kats edited this page Jan 24, 2026 · 11 revisions

Emmer is a JSON database that's fully operable with an API. This makes the tool flexible, interoperable, and particularly useful for personal projects. Moreover, emmer can write JSON files to different storage providers (local, MinIO, S3, etc).

Installation

The easiest way to run emmer is through docker. You can also run emmer on your device using 'go install github.com/TimoKats/emmer', this should work on both Windows and Linux. Note, if you haven't used go install before, please add the following line to your .bashrc. If you don't use bash, use this blog to configure the path on your system.

export PATH="$PATH:$HOME/go/bin"

Basic usage

In simple terms, the API is based on your JSON structure. So the example below is for CRUD-ing [key1][key2] in file.json. The value (which can be anything) is then added to the body of the request. Moreover, there are helper functions for appending and incrementing values.

DELETE/PUT/GET: /api/file/key1/key2/...

Examples

A get request that gets a json key in the file users.json.

big-emmer-1 drawio

A put request (using append mode) that adds a city. Note how it turns the value into a list before it appends the value.

large-emmer-2 drawio

Clone this wiki locally