Installation

npm

If you're in a Node.js project - especially if you're replacing dynalite - this is the simplest path:

npm install --save-dev dynoxide

Then run it directly:

npx dynoxide

The package ships platform-specific binaries (the same approach as esbuild and Biome), so there's nothing to compile. It pulls the right binary for your OS at install time.

Homebrew (macOS)

The quickest way on a Mac:

brew install nubo-db/tap/dynoxide

Cargo

If you've got Rust installed:

cargo install dynoxide-rs

For the encrypted build (SQLCipher + OpenSSL):

cargo install dynoxide-rs --no-default-features --features encrypted-full

Pre-built binaries

Grab a binary from the GitHub releases page. Builds are available for Linux (x86_64, aarch64, musl), macOS (Intel and Apple Silicon), and Windows.

curl -fsSL https://github.com/nubo-db/dynoxide/releases/latest/download/dynoxide-x86_64-unknown-linux-gnu.tar.gz | tar xz

Docker

If your test suite already runs amazon/dynamodb-local in a container, the official image is a drop-in - same DynamoDB API, about 5 MB instead of 471 MB on disk:

docker run --rm -p 8000:8000 ghcr.io/nubo-db/dynoxide

It's multi-arch (linux/amd64 and linux/arm64), built FROM scratch, and ships a HEALTHCHECK, so docker ps and Compose health gates report status without extra tooling. The canonical image is ghcr.io/nubo-db/dynoxide, with best-effort mirrors on Docker Hub (docker.io/nubodb/dynoxide) and ECR Public.

It's a packaging convenience for test fixtures, not a containerised database to run in production. You don't need Docker to use Dynoxide - the native binary needs nothing - but if your pipeline is built around a container, this swaps in cleanly.

GitHub Actions

For CI pipelines, there's a dedicated action. It lives in the action/ subdirectory of the repo, so reference it with that path and pin it to a release tag:

- uses: nubo-db/dynoxide/action@v0.10.0
  with:
    port: 8000

You can also pre-load a database snapshot:

- uses: nubo-db/dynoxide/action@v0.10.0
  with:
    snapshot-url: https://example.com/test-data.db.zst
    port: 8000

See action/action.yml for every input and output.

Verify it works

After installing, run:

dynoxide

You should see Listening on 127.0.0.1:8000. That's it - you've got a DynamoDB-compatible endpoint ready to go.