DB
Getting Started

Install & run

Run the NYXDB engine from the official container image, or build it locally from source.

Run with Docker

The fastest path is the official container image. The server binary is nyxdb; by default it listens on 0.0.0.0:7777 and stores data under /var/lib/nyxdb.

docker run --rm \
  -p 7777:7777 \
  -v nyxdb-data:/var/lib/nyxdb \
  ghcr.io/nyxl-io/db:latest

The image entrypoint is equivalent to:

nyxdb --host=0.0.0.0 --port=7777 --data-dir=/var/lib/nyxdb

Mount a volume at /var/lib/nyxdb to persist the DDL journal, DML journal, and columnar parts across restarts. The container runs as a non-root user (nyxdb, uid 10001).

Image tags

TagMeaning
latest / X.Y.Z / X.YRelease versions
edgeLatest main branch
sha-<short>A specific commit
*-asanAddressSanitizer builds (debugging)

Security note

The wire protocol is plaintext and unauthenticated by default. For anything beyond local development, put the server behind a TLS-terminating proxy and enable authentication.

# TODO-verify: exact auth flags for your release
nyxdb --host=0.0.0.0 --port=7777 --require-auth --admin-password="$NYXDB_ADMIN_PASSWORD"

Build from source

NYXDB targets Linux for production; development also works on macOS. Building requires CMake 3.31+, Ninja, a C++23 compiler, and vcpkg (VCPKG_ROOT set).

# Debug build (normal local development target)
cmake --preset debug
cmake --build cmake-build-debug -j 8

# Run it on a dev port
./cmake-build-debug/nyxdb --port=7510 --data-dir=./data
# Release build (benchmarks and generated docs)
cmake --preset release
cmake --build cmake-build-release -j 8

Run the test suite after building:

ctest --test-dir cmake-build-debug --output-on-failure

Next

On this page