GenesisDB is MIT licensed. No license key, no signup, no event limit. Pick an install method, start the server and commit your first event.
Every release publishes a multi-arch image (linux/amd64, linux/arm64) on Docker Hub and GitHub Packages, plus static binaries for Linux and macOS.
docker run --rm --name genesisdb \
-e GENESISDB_AUTH_TOKEN="$(openssl rand -hex 32)" \
-p 127.0.0.1:8080:8080 \
-v genesisdb-data:/app/data \
genesisdb/genesisdb:latest
# also available as ghcr.io/genesisdb-io/genesisdb:latestcurl localhost:8080/api/v2/commit \
-H "Authorization: Bearer $GENESISDB_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"events":[{"source":"app","subject":"/customer/1","type":"customer.created","data":{"name":"Bruce"}}]}'
curl localhost:8080/api/v2/fetch \
-H "Authorization: Bearer $GENESISDB_AUTH_TOKEN" \
-d '{"subject":"/customer"}'The server binds to loopback by default, the container to 0.0.0.0. For remote access configure TLS or put a TLS reverse proxy in front, and use separate read and write tokens. Details are in the deployment guide.
npm install genesisdbgo get github.com/genesisdb-io/genesisdb-io-client-go/v2pip install genesisdb-clientcargo add genesisdbio.genesisdb:genesisdb:2.0.0.package(url: "github.com/genesisdb-io/genesisdb-io-client-swift")composer require genesisdb/client-sdkdotnet add package GenesisDB.ClientDrop-in replacement. Data directories migrate on first start, clients keep working. A backup before upgrading is mandatory.
Upgrade guide