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 -