Guide

Get a node online,
publish a site.

This is the shortest useful path from a fresh checkout to a reachable .loom site served by your own node.

Choose the install path that fits your machine

Most people should use the packaged install path for their platform and only fall back to a source build if they want to hack on Lattice itself.

Arch Linux

Use the AUR package

The fastest way to get a working node on Arch is the maintained AUR package.

yay -S lattice-net-git
lattice up
Debian / Ubuntu

Use the APT repo

For Debian-style systems, add the published repo and install lattice directly.

sudo tee /etc/apt/sources.list.d/lattice.sources
sudo apt update
sudo apt install lattice
Windows

Use the MSI

Install the Windows MSI from the latest GitHub release. It puts lattice on PATH, installs the daemon service, adds setup shortcuts, and restarts the service automatically on upgrades.

Download:
github.com/fordz0/lattice/releases/latest

Preferred asset:
lattice-windows-x86_64.msi
macOS

Use Homebrew

The easiest Mac install path is the published Homebrew tap. Release tarballs are still attached if you prefer a manual install, and an active brew services daemon is restarted automatically on upgrades.

brew tap fordz0/lattice
brew install lattice-net
brew services start lattice-net
Source

Build it yourself

Use this path if you want to work on the code, test local changes, or run straight from a checkout.

git clone https://github.com/fordz0/lattice
cd lattice
cargo build --release -p lattice-daemon -p lattice

Compile the pieces

At minimum you need the daemon and the CLI. The browser extension is loaded separately and talks to the daemon over localhost.

git clone https://github.com/fordz0/lattice
cd lattice
cargo build --release -p lattice-daemon -p lattice

Start the daemon

The daemon owns your node key, joins the network, stores records locally, and answers the CLI and extension. Keep it running while you publish or browse.

lattice up
lattice doctor

On first start it will create local state and begin connecting to bootstrap peers. lattice doctor is the fastest way to confirm the daemon, RPC endpoint, and local setup all line up.

For a Linux server that should run continuously, prefer sudo lattice up --server. If the machine is specifically meant to be a bootstrap node, use sudo lattice up --bootstrap.

Load the browser extension

The browser extension intercepts .loom requests and forwards them to the local daemon. No remote gateway is involved.

Firefox

Install from AMO

Firefox is the primary install path. Use the public AMO listing or grab the signed GitHub mirror if you need a direct .xpi.

Chromium preview

Download the unpacked .zip build

Chromium-based browsers usually reject direct website installs of unsigned .crx files. Download the packaged .zip instead, extract it, and load it as an unpacked extension.

After downloading, extract the archive, open chrome://extensions, enable Developer mode, and use Load unpacked on the extracted folder.

  1. Keep the daemon running with lattice up before testing any .loom site.
  2. For always-on Linux hosts, use sudo lattice up --server instead of the desktop-style path.
  3. Open a .loom address and confirm the extension badge turns green on the docs site.

Claim and publish

Publishing a directory claims the name if needed, signs the manifest, and stores content-addressed blocks for the network to replicate.

lattice publish --dir ./my-site --name mysite

To keep local-only files out of a published site, add a .latticeignore file in the site directory. Useful patterns include build/, *.bak, and private/**.

You can inspect the result with:

lattice name info mysite
lattice status

To refresh installed Lattice apps later, run:

lattice update --all

Check the full path

  • Open mysite.loom in Firefox with the extension enabled.
  • Confirm the daemon logs a fetch or local serve event.
  • Run lattice doctor or lattice status to confirm the CLI can talk to your daemon.
  • If browsing fails, check daemon port bindings and extension setup before debugging the protocol itself.