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.