Docs/Get startedv0.0.1-preview
Getting started
Three ways to run TulaDB 0.0.1-preview — a Docker or Podman stack on your laptop, one node from the binary installer, or a three-node mTLS cluster with the dashboard, metrics and the Iceberg lake — and which downloads each one needs.
TulaDB 0.0.1-preview is out: every component is a signed download on Downloads, served from downloads.tuladb.com. Pick the path that matches what you want to learn. All three use the same release, so anything you build against the first carries over to the others.
| You get | You need | Start here | |
|---|---|---|---|
| A. Developer quick setup | a three-node cluster (or one node), the dashboard, the REST API, Prometheus and Grafana, plus a Postman collection that walks the API | one machine with Docker or Podman, 2.5 GB of disk, 2–3 GB of container memory | Quick setup (Docker or Podman) |
| B. One node, natively | tuladbd as a systemd service (or under ~/.tuladb on a Mac), tulactl, your first transfer and an idempotent retry |
one supported Linux server, or a Mac on Apple silicon | Quickstart, then Install TulaDB |
| C. A production-shaped cluster | three voters with mutual TLS on every hop, the Prometheus exporter and Grafana dashboards, the Iceberg exporter writing to a lake, and the dashboard | three Linux servers plus an operations host | Integrated cluster |
Every path is for evaluation: 0.0.1-preview is a developer preview, covered by the evaluation grant of the TulaDB Source-Available License, and not certified for production. The release notes list what is in it and what is known not to work yet.
A. Developer quick setup (Docker or Podman)
The shortest path from nothing to the whole stack. The eval download carries the TulaDB container images (x86_64 and arm64) as docker load tarballs built from the published server installer, a Compose bundle with eval.sh, and a Postman collection.
curl -fsSLO https://downloads.tuladb.com/eval/0.0.1-preview/tuladb-eval-compose-0.0.1-preview.tar.gz
curl -fsSLO https://downloads.tuladb.com/eval/0.0.1-preview/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS # macOS: shasum -a 256 -c --ignore-missing SHA256SUMS
tar -xzf tuladb-eval-compose-0.0.1-preview.tar.gz && cd tuladb-eval-0.0.1-preview
./eval.sh doctor # engine, compose, ports, disk, memory, architecture
./eval.sh up # or: ./eval.sh up --single
./eval.sh postman # writes a Postman environment with this stack's keys
Then import the collection and the environment into Postman and run its folders in order. The guide covers verifying the signature too, the URLs and credentials, troubleshooting (rootless Podman, SELinux, Apple silicon) and ./eval.sh purge.
B. One node, natively
tuladbd installs only through tuladb-installer, one static binary per platform that carries the whole server release: tuladbd, tulactl and the Prometheus exporter. Download it with its SHA256SUMS, SHA256SUMS.cosign.bundle and trusted_root.json, verify both, then:
chmod +x tuladb-installer-0.0.1-preview-linux-x86_64
sudo ./tuladb-installer-0.0.1-preview-linux-x86_64 install --single
sudo ./tuladb-installer-0.0.1-preview-linux-x86_64 status
On a Mac, the same command with the darwin-arm64 installer and without sudo installs under ~/.tuladb, with no service; it prints the command that starts the node. The Quickstart continues from here: a ledger, two accounts, a transfer and a retry that does not post twice. To write code against it, add an SDK from the sdk download: Python, Java, Go, Rust or C.
C. A production-shaped cluster
Integrated cluster builds the full deployment step by step, on your own machines and with your own certificate authority:
| Machine | What runs there | Download |
|---|---|---|
| three nodes | tuladbd (a voter each), tulactl, a Prometheus exporter beside each node |
core (or the exporter alone: prometheus-exporter) |
| an operations host | Prometheus and Grafana with the TulaDB dashboards | grafana-dashboards |
| an operations host | the Iceberg exporter, writing committed history to a lake | exporter |
| an operations host | the operator dashboard, behind your HTTPS proxy | dashboard |
| your applications | an SDK | sdk |
Each download is signed by its own release workflow and verified the same way; Install the components has every one’s install, configuration, upgrade and removal, including on hosts with no network access. Before anything depends on it, read Path to production.
Verify before you run
Every download directory holds SHA256SUMS, a keyless Sigstore signature over it (SHA256SUMS.cosign.bundle) made by that product’s release workflow at the release tag, and trusted_root.json to check the signature with no network. Downloads prints the exact cosign verify-blob --offline command for each product. Don’t run a file if either the signature or its hash fails.
Ports at a glance
| Port | What | Who connects |
|---|---|---|
| 7700 | client (writes, admin), mTLS on a cluster | SDKs, tulactl, the dashboard |
| 7800 | query (reads, export stream), mTLS on a cluster | SDKs, the dashboard, the Iceberg exporter |
| 8700, 9700 | fabric and heartbeat between nodes | other nodes only |
| 9145 | Prometheus exporter, plain HTTP | your Prometheus only |
| 9146 | Iceberg exporter metrics and health, on 127.0.0.1 |
your Prometheus |
Questions, or a pilot on your own replayed traffic: [email protected].