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:latestThe image entrypoint is equivalent to:
nyxdb --host=0.0.0.0 --port=7777 --data-dir=/var/lib/nyxdbMount 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
| Tag | Meaning |
|---|---|
latest / X.Y.Z / X.Y | Release versions |
edge | Latest main branch |
sha-<short> | A specific commit |
*-asan | AddressSanitizer 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 8Run the test suite after building:
ctest --test-dir cmake-build-debug --output-on-failureNext
- First queries — create tables and read them back.
- The nyxsql CLI — the interactive client.