Installation
Installation
KoutenDB installs command-line binaries named kouten, koutend, koutencli,
koutenbench, and koutensim.
For normal use, the command should be available as kouten, not as
bin/kouten. The bin/ form is only for source-tree development and smoke
tests.
Choose An Installation Path
| Goal | Artifact | Required locally |
|---|---|---|
| Try the CLI or embed KoutenDB in Nim | Nimble package | Nim, C compiler, libsodium |
| Run a persistent TLS/authenticated server | GHCR image and self-host bundle | Docker with Compose, Git, OpenSSL |
| Connect from an existing language | Published language driver | Driver-specific runtime plus a server or native library |
| Develop KoutenDB itself | Source checkout | Full build and test toolchain |
For the shortest introduction to the data model, install the Nimble package and continue with the Five-Minute Quickstart. Choose the container path when the first question is operational rather than embedded use.
Prerequisites
- Nim
2.0.0or newer gitgccor another C compiler supported by Nimlibsodiumdevelopment files fornimsodium
Local CLI And Embedded Nim
Install KoutenDB from Nimble:
nimble install koutendb
Use a source checkout when you want to run the full test suite, examples, or driver smoke tests:
git clone https://github.com/puffball1567/koutendb.git
cd koutendb
nimble install -y
Nimble installs binaries into ~/.nimble/bin by default. Add it to your shell
PATH if kouten --help is not found:
export PATH="$HOME/.nimble/bin:$PATH"
For a persistent shell setup:
printf '\nexport PATH="$HOME/.nimble/bin:$PATH"\n' >> ~/.profile
Then verify:
kouten --help
koutend --help
The installation is ready when kouten --help succeeds. Continue with the
Five-Minute Quickstart; cluster configuration is not required
for the first evaluation.
Self-Hosted Server Image
Versioned linux/amd64 and linux/arm64 images are published at:
ghcr.io/puffball1567/koutendb:<version>
The supported server path uses the repository’s self-host bundle to generate TLS certificates, external secret files, persistent storage, health checks, and strong-durability configuration. For v0.14.2:
git clone --depth 1 --branch v0.14.2 \
https://github.com/puffball1567/koutendb.git
cd koutendb
KOUTENDB_VERSION=0.14.2 \
deploy/self-hosted/bootstrap.sh "$PWD/../koutendb-selfhost"
cd ../koutendb-selfhost
docker compose up -d
docker compose ps
Read v0.14 Self-Hosted Operations before exposing the listener outside localhost. The bootstrap PKI is an evaluation and single-node starting point, not a replacement for an organization’s approved issuer and trust-distribution process.
Language Drivers
Published drivers are available for Rust, JavaScript/TypeScript, Python, PHP, and C++. A driver is not a standalone KoutenDB server:
- native C ABI wrappers require a compatible
libkoutendbbuild; - TCP drivers require a reachable
koutendendpoint; - the core and driver versions must satisfy the documented compatibility matrix.
Use Driver Installation for package commands, native library setup, TLS/authentication requirements, and verification examples.
System Install
For server-style deployments, use /usr/local/bin, matching the usual source
install location for database tools such as MySQL or PostgreSQL client/server
binaries.
Build repo-local binaries:
nim c -d:ssl -d:release --nimcache:/tmp/nimcache_kouten -o:bin/kouten src/koutencli.nim
nim c -d:ssl -d:release --nimcache:/tmp/nimcache_koutend -o:bin/koutend src/koutend.nim
Install them onto the system PATH:
sudo install -m 0755 bin/kouten /usr/local/bin/kouten
sudo install -m 0755 bin/koutend /usr/local/bin/koutend
Optional development and benchmark tools:
nim c -d:release --nimcache:/tmp/nimcache_koutenbench -o:bin/koutenbench src/koutenbench.nim
nim c -d:release --nimcache:/tmp/nimcache_koutensim -o:bin/koutensim src/koutensim.nim
sudo install -m 0755 bin/koutenbench /usr/local/bin/koutenbench
sudo install -m 0755 bin/koutensim /usr/local/bin/koutensim
Verify:
command -v kouten
command -v koutend
kouten --help
Source-Tree Development
Use repo-local binaries only when you explicitly want to test the current checkout without installing it:
nim c -d:release --nimcache:/tmp/nimcache_kouten -o:bin/kouten src/koutencli.nim
bin/kouten --help
Documentation and examples use kouten for installed usage. Test scripts may use
bin/kouten to avoid depending on the user’s PATH.