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ção | Comando |
|---|---|
| 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 | Já 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
| Ferramenta | Para quê | Instalação |
|---|---|---|
| just | Executar comandos de build do projeto | cargo install just |
| mdBook | Compilar a documentação | cargo install mdbook |
| Docker | Executar nós em contêineres | Veja Docker |
| Flutter | Compilar o app mobile/desktop | Veja 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 tesserastesseras-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
- Flutter SDK — instale seguindo o guia oficial
- Rust — já instalado conforme acima
- Dependências de plataforma:
| Plataforma | Dependências |
|---|---|
| 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 no Debian/Ubuntu) |
| macOS desktop | Xcode 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:
| Protocolo | Porta | Direção |
|---|---|---|
| UDP | 4433 | Entrada e saída |
Próximos passos
- Início Rápido — crie sua primeira tessera
- Executando um Nó — configure e execute o daemon
- Configuração — opções de configuração
- Docker — execute em contêineres