Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Instalação

Tesseras está disponível atualmente através de compilação a partir do código-fonte.

Pré-requisitos

Rust

Tesseras requer Rust 1.85 ou superior. A maneira recomendada de instalar o Rust é via rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Após a instalação, certifique-se de que ~/.cargo/bin está no seu PATH. O instalador normalmente adiciona isso automaticamente. Verifique com:

rustc --version
cargo --version

Se você já tem o Rust instalado, atualize para a versão mais recente:

rustup update stable

SQLite

Tesseras usa SQLite para armazenamento local. Você tem duas opções:

Opção 1: SQLite do sistema (recomendada)

Instale as bibliotecas de desenvolvimento do SQLite pelo gerenciador de pacotes do seu sistema:

DistribuiçãoComando
Arch Linuxsudo pacman -S sqlite
Debian / Ubuntusudo apt install libsqlite3-dev
Fedorasudo dnf install sqlite-devel
Alpineapk add sqlite-dev
macOS (Homebrew)brew install sqlite
FreeBSDpkg install sqlite3
OpenBSDJá incluído no sistema base

Opção 2: SQLite embutido

Se preferir não instalar o SQLite no sistema, use a feature flag bundled-sqlite durante a compilação. Isso compila o SQLite junto com o Tesseras:

cargo install --path crates/tesseras-cli --features bundled-sqlite
cargo install --path crates/tesseras-daemon --features bundled-sqlite

Ferramentas opcionais

FerramentaPara quêInstalação
justExecutar comandos de build do projetocargo install just
mdBookCompilar a documentaçãocargo install mdbook
DockerExecutar nós em contêineresVeja Docker
FlutterCompilar o app mobile/desktopVeja App Flutter

Compilar a partir do código-fonte

Clone o repositório e instale os binários:

git clone https://git.sr.ht/~ijanc/tesseras
cd tesseras
cargo install --path crates/tesseras-cli
cargo install --path crates/tesseras-daemon

Ou, se você tiver o just instalado:

just install

Isso instala dois binários em ~/.cargo/bin/ e configura auto-completions para o seu shell:

  • tes — ferramenta CLI para criar, verificar e exportar tesseras
  • tesseras-daemon — daemon de nó completo que participa da rede P2P

Verificar a instalação

tes --help

Você deverá ver:

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

Auto-completions do shell

O comando just install configura completions automaticamente. Se você instalou manualmente, gere as completions para o seu 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"

App Flutter

Para compilar o app mobile ou desktop, você precisa de dependências adicionais:

Pré-requisitos do Flutter

  1. Flutter SDK — instale seguindo o guia oficial
  2. Rust — já instalado conforme acima
  3. Dependências de plataforma:
PlataformaDependências
AndroidAndroid SDK, Android NDK, Java 17+
iOSXcode, CocoaPods
Linux desktopGTK 3.0+, pkg-config (sudo apt install libgtk-3-dev pkg-config no Debian/Ubuntu)
macOS desktopXcode Command Line Tools

Compilar o app

cd apps/flutter
flutter pub get

# Linux desktop
flutter build linux --debug

# Android
flutter build apk --debug

# iOS
flutter build ios --debug

# Testes
flutter test

Ou usando just a partir da raiz do repositório:

just build-linux    # Linux desktop
just build-android  # Android APK
just test-flutter   # Testes

Portas de rede

O daemon Tesseras usa QUIC (protocolo sobre UDP). Se você estiver atrás de um firewall, permita tráfego na porta:

ProtocoloPortaDireção
UDP4433Entrada e saída

Próximos passos