Kalzit is in early development. These pages describe what exists today and change as the milestones progress.

Installation from source

There are no packages or installers yet: MSI, deb, rpm and Docker images are planned for M5. Until then you build Kalzit from source. The steps are the same on Windows and Linux.

What you need

  • Git, to get the source.
  • Rust, the current stable toolchain, installed with rustup. The server uses the 2024 edition of Rust.
  • Node.js and npm, only for the web UI. CI builds the UI with Node.js 26.

No OpenSSL and no database server are needed: TLS uses rustls, and Kalzit keeps its own data in a SQLite file by default.

Get the source

git clone https://github.com/MouseWerk/Kalzit.git
cd Kalzit

Build the web UI

The web UI lives in ui/ and is embedded into the binary at build time. It is being built as part of M0. When ui/ is in your checkout, build it first:

npm --prefix ui ci
npm --prefix ui run build

A server built without the UI still starts. It answers browser requests with a short note that the web UI is not part of the build; the API and the health endpoints work as usual.

Build the server

cargo build --release --locked

The binary is target/release/kalzit on Linux and target\release\kalzit.exe on Windows.

To run the test suite, which CI runs on both Windows and Linux:

cargo test --locked

Start it

./target/release/kalzit

On Windows:

.\target\release\kalzit.exe

Without a configuration file, Kalzit listens on plain HTTP on port 3000 on all interfaces (0.0.0.0:3000) and keeps its data in a data folder in the current directory. The first start creates the database and writes a one-time setup code; First start explains what to do with it.

Stop the server with Ctrl+C (or SIGTERM on Linux). Open requests get ten seconds to finish.

Commands

Command What it does
kalzit or kalzit serve Runs the server.
kalzit check-config Reads and validates the configuration, then exits.
kalzit --config <file> Uses this configuration file instead of the default locations. Short form: -c.
kalzit --version Prints the version.

A configuration error stops the server before it listens, with a message that names the setting, and exit code 2. Run kalzit check-config after every change to the file.