Installation

Tela ships through three release channels (dev, beta, stable). Once any one binary is installed, every subsequent update is one command:

tela update
telad update
telahubd update

The bootstrap step is the only one that needs a manual download. Pick whichever channel you want to follow.

Linux / macOS

Pull the latest binary from a channel manifest:

# Replace 'dev' with 'beta' or 'stable' as desired.
# Replace 'tela-linux-amd64' with the binary you want.
curl -fsSL https://github.com/paulmooreparks/tela/releases/download/channels/dev.json \
  | python3 -c 'import json,sys; m=json.load(sys.stdin); print(m["downloadBase"]+"tela-linux-amd64")' \
  | xargs curl -fLO

chmod +x tela-linux-amd64
sudo mv tela-linux-amd64 /usr/local/bin/tela

For telad and telahubd, repeat with the matching binary name.

Windows

From PowerShell:

$m = Invoke-RestMethod https://github.com/paulmooreparks/tela/releases/download/channels/dev.json
Invoke-WebRequest ($m.downloadBase + 'tela-windows-amd64.exe') -OutFile C:\Users\$env:USERNAME\bin\tela.exe

Make sure C:\Users\<you>\bin is on your PATH.

TelaVisor (desktop GUI)

For Windows, download the NSIS installer from any release page or directly from the channel manifest:

$m = Invoke-RestMethod https://github.com/paulmooreparks/tela/releases/download/channels/dev.json
Invoke-WebRequest ($m.downloadBase + 'telavisor-windows-amd64-setup.exe') -OutFile TelaVisor-Setup.exe
.\TelaVisor-Setup.exe

For Linux, the channel manifest also contains .deb, .rpm, and a bare binary. For macOS, a .tar.gz of the .app bundle.

Channels

ChannelWhat it isTag form
devLatest unstable build, every commit to mainv0.8.0-dev.42
betaPromoted dev build ready for wider exposurev0.8.0-beta.3
stablePromoted beta build, the conservative linev0.8.0, v0.6.1

The model is documented in Release process.

Verifying downloads

Every download Tela does internally is SHA-256-verified against the channel manifest before being installed. If you want to verify a manual download by hand, every release also publishes a SHA256SUMS.txt asset:

curl -fLO https://github.com/paulmooreparks/tela/releases/download/v0.8.0-dev.8/SHA256SUMS.txt
sha256sum -c SHA256SUMS.txt --ignore-missing

Next steps after downloading

Downloading the binary is the first step, not the last. What to do next depends on which binary you installed:

BinaryNext step
telahubdFollow Run a hub on the public internet. The walkthrough covers picking a deployment model (Caddy, nginx, Apache, Cloudflare Tunnel, or direct), installing the OS service, bootstrapping the owner token, and configuring the reverse proxy.
teladFollow Run an agent to register a machine with a hub.
tela clientFollow First connection to pair with a hub and open your first tunnel.
TelaVisorLaunch the app after install; it walks you through pairing on first run.

After bootstrapping

Every Tela binary has a update subcommand that follows the configured channel. Once you have one of them installed, you no longer need to think about manual downloads:

tela update
sudo telad update
sudo telahubd update

To switch channels:

tela channel set beta              # client (and TelaVisor)
sudo telad channel set beta        # agent (writes to telad.yaml)
sudo telahubd channel set beta     # hub (writes to telahubd.yaml)

For a one-shot override that does not persist, pass -channel <name> to the update subcommand: sudo telahubd update -channel beta. Any valid channel name works (dev, beta, stable, or a custom channel you have configured).

For the full picture see the Self-update and release channels how-to.