Installation Guide

Choose your preferred installation method to get ReckonDB running in your environment.

Hex Package Manager

Hex Installation

For BEAM ecosystem projects. Integrates with Phoenix and any Elixir or Erlang app.

1. Add Dependencies

reckon_evoq pulls evoq and reckon_gater transitively, so declare just two:

defp deps do
  [
    {:reckon_db, "~> 2.3"},     # BEAM-native event store (Khepri/Ra, Raft)
    {:reckon_evoq, "~> 2.1"}    # evoq → ReckonDB adapter (brings evoq + reckon_gater)
  ]
end

2. Install Dependencies

mix deps.get

3. Configuration

Declare a ReckonDB store (it starts at boot) and point evoq at the reckon_evoq adapter for its event store, snapshots, and subscriptions:

# config/config.exs
config :reckon_db,
  stores: [my_store: [mode: :single]]

config :evoq,
  store_id: :my_store,
  event_store_adapter: :reckon_evoq_adapter,
  snapshot_store_adapter: :reckon_evoq_adapter,
  subscription_adapter: :reckon_evoq_adapter

Then model your domain with evoq — commands, events, aggregates and projections persist to ReckonDB through the adapter. See the evoq guides for your first slice.

Docker Container

Docker Installation

Run the ReckonDB gRPC gateway as a container and connect from any language. ReckonDB speaks gRPC on port 50051.

Quick Start

docker run -p 50051:50051 ghcr.io/reckon-db-org/reckon-gateway:latest

With Docker Compose

# docker-compose.yml
services:
  reckon-gateway:
    image: ghcr.io/reckon-db-org/reckon-gateway:latest
    ports:
      - "50051:50051"
    restart: unless-stopped

Connect

Use the reckon CLI, the Go SDK, or a client generated from the proto:

reckon -e localhost:50051 stores list

See reckon-gateway for catalogue / cluster configuration.