Installation
+Tesseras is currently available by building from source.
+Prerequisites
+Rust
+Tesseras requires Rust 1.85 or higher. The recommended way to install Rust is via rustup:
+curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+
+After installation, make sure ~/.cargo/bin is in your PATH. The installer usually adds it automatically. Verify with:
rustc --version
+cargo --version
+
+If you already have Rust installed, update to the latest version:
+rustup update stable
+
+SQLite
+Tesseras uses SQLite for local storage. You have two options:
+Option 1: System SQLite (recommended)
+Install SQLite development libraries via your system package manager:
+| Distribution | Command |
|---|---|
| Arch Linux | sudo pacman -S sqlite |
| Debian / Ubuntu | sudo apt install libsqlite3-dev |
| Fedora | sudo dnf install sqlite-devel |
| Alpine | apk add sqlite-dev |
| macOS (Homebrew) | brew install sqlite |
| FreeBSD | pkg install sqlite3 |
| OpenBSD | Included in the base system |
Option 2: Bundled SQLite
+If you prefer not to install SQLite on your system, use the bundled-sqlite feature flag during compilation. This compiles SQLite alongside Tesseras:
cargo install --path crates/tesseras-cli --features bundled-sqlite
+cargo install --path crates/tesseras-daemon --features bundled-sqlite
+
+Optional tools
+| Tool | Purpose | Installation |
|---|---|---|
| just | Run project build commands | cargo install just |
| mdBook | Build the documentation | cargo install mdbook |
| Docker | Run nodes in containers | See Docker |
| Flutter | Build the mobile/desktop app | See Flutter App |
Build from source
+Clone the repository and install the binaries:
+git clone https://git.sr.ht/~ijanc/tesseras
+cd tesseras
+cargo install --path crates/tesseras-cli
+cargo install --path crates/tesseras-daemon
+
+Or, if you have just installed:
just install
+
+This installs two binaries to ~/.cargo/bin/ and configures shell auto-completions:
-
+
tes— CLI tool for creating, verifying, and exporting tesseras
+tesseras-daemon— full node daemon that participates in the P2P network
+
Verify installation
+tes --help
+
+You should see:
+Create and preserve human memories
+
+Usage: tes [OPTIONS] <COMMAND>
+
+Commands:
+ init Initialize identity and local database
+ create Create a tessera from a directory of files
+ verify Verify integrity of a stored tessera
+ export Export tessera to a self-contained directory
+ list List local tesseras
+ help Print this message or the help of the given subcommand(s)
+
+Options:
+ --data-dir <DATA_DIR> Base directory for data storage [default: ~/.tesseras]
+ -h, --help Print help
+
+Shell completions
+The just install command configures completions automatically. If you installed manually, generate completions for your shell:
# Fish
+tes completions fish > ~/.config/fish/completions/tes.fish
+
+# Zsh
+tes completions zsh > "${XDG_DATA_HOME:-$HOME/.local/share}/zsh/site-functions/_tes"
+
+# Bash
+tes completions bash > "${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions/tes"
+
+Flutter App
+To build the mobile or desktop app, you need additional dependencies:
+Flutter prerequisites
+-
+
- Flutter SDK — install following the official guide +
- Rust — already installed as above +
- Platform dependencies: +
| Platform | Dependencies |
|---|---|
| Android | Android SDK, Android NDK, Java 17+ |
| iOS | Xcode, CocoaPods |
| Linux desktop | GTK 3.0+, pkg-config (sudo apt install libgtk-3-dev pkg-config on Debian/Ubuntu) |
| macOS desktop | Xcode Command Line Tools |
Build the app
+cd apps/flutter
+flutter pub get
+
+# Linux desktop
+flutter build linux --debug
+
+# Android
+flutter build apk --debug
+
+# iOS
+flutter build ios --debug
+
+# Tests
+flutter test
+
+Or using just from the repository root:
just build-linux # Linux desktop
+just build-android # Android APK
+just test-flutter # Tests
+
+Network ports
+The Tesseras daemon uses QUIC (protocol over UDP). If you are behind a firewall, allow traffic on the port:
+| Protocol | Port | Direction |
|---|---|---|
| UDP | 4433 | Inbound and outbound |
Next steps
+-
+
- Quick Start — create your first tessera +
- Running a Node — configure and run the daemon +
- Configuration — configuration options +
- Docker — run in containers +