Installation

Mezite ships as a set of signed, statically-linked binaries. With the default SQLite backend, there are zero external dependencies. Choose the method that fits your environment — pre-built binaries or container images.

Mezite is closed-source software. We do not publish source publicly and build-from-source is not supported. Enterprise customers with a Source-Available License receive reproducible build instructions separately.


Prerequisites

  • SQLite (default, zero dependencies) or PostgreSQL 16 (recommended for production)
  • Linux or macOS host (amd64 or arm64)
  • A Mezite license key (free hosted tier signups receive one by email)

Pre-built Binaries

Each release publishes signed binaries for Linux and macOS on both amd64 and arm64. Download the archive for your platform, verify the cosign signature, extract, and move the binaries onto your PATH.

Linux (amd64)

Download & install — Linux amd64 bash
# Download the latest signed release. Each release publishes the
# tarball, a Sigstore bundle (contains both the keyless certificate and
# the signature), and a SHA256 manifest.
curl -fsSL https://releases.mezite.com/latest/mezite-linux-amd64.tar.gz \
  -o mezite-linux-amd64.tar.gz
curl -fsSL https://releases.mezite.com/latest/mezite-linux-amd64.tar.gz.bundle \
  -o mezite-linux-amd64.tar.gz.bundle

# Verify signature with cosign (keyless / Sigstore bundle)
cosign verify-blob \
  --bundle mezite-linux-amd64.tar.gz.bundle \
  --certificate-identity=releases@mezite.com \
  --certificate-oidc-issuer=https://accounts.mezite.com \
  mezite-linux-amd64.tar.gz

# Extract and install
tar -xzf mezite-linux-amd64.tar.gz
sudo mv mezhub mezd msh mezctl /usr/local/bin/

# Verify
mezhub version

Linux (arm64)

Download & install — Linux arm64 bash
curl -fsSL https://releases.mezite.com/latest/mezite-linux-arm64.tar.gz \
  -o mezite-linux-arm64.tar.gz

tar -xzf mezite-linux-arm64.tar.gz
sudo mv mezhub mezd msh mezctl /usr/local/bin/

macOS (Apple Silicon / arm64)

Download & install — macOS arm64 bash
curl -fsSL https://releases.mezite.com/latest/mezite-darwin-arm64.tar.gz \
  -o mezite-darwin-arm64.tar.gz

tar -xzf mezite-darwin-arm64.tar.gz
sudo mv mezhub mezd msh mezctl /usr/local/bin/

# macOS may require removing the quarantine attribute
xattr -d com.apple.quarantine /usr/local/bin/mezhub 2>/dev/null || true
xattr -d com.apple.quarantine /usr/local/bin/msh 2>/dev/null || true

macOS (Intel / amd64)

Download & install — macOS amd64 bash
curl -fsSL https://releases.mezite.com/latest/mezite-darwin-amd64.tar.gz \
  -o mezite-darwin-amd64.tar.gz

tar -xzf mezite-darwin-amd64.tar.gz
sudo mv mezhub mezd msh mezctl /usr/local/bin/

Container Image

Official signed container images are published to our private registry. Works with both Podman and Docker. Authenticate with the registry credentials we send with your license.

Pull with Podman bash
# Authenticate (one-time)
podman login registry.mezite.com

# Pull latest
podman pull registry.mezite.com/mezite/mezhub:latest

# Or pin to a specific version
podman pull registry.mezite.com/mezite/mezhub:0.15.0
Pull with Docker bash
docker login registry.mezite.com
docker pull registry.mezite.com/mezite/mezhub:latest

The image exposes the following ports:

PortServiceDescription
3025Auth (gRPC)Internal auth API, agent registration
3080Proxy (HTTPS)Web UI, API, OIDC callbacks
3023Proxy (SSH)SSH client connections
3024Proxy (Tunnel)Agent reverse tunnel connections
Run the container bash
podman run -d --name mezite \
  -p 3025:3025 \
  -p 3080:3080 \
  -p 3023:3023 \
  -p 3024:3024 \
  -v ./mezite.yaml:/etc/mezite/mezite.yaml:ro \
  -v ./license.key:/etc/mezite/license.key:ro \
  registry.mezite.com/mezite/mezhub:latest \
  mezhub --config=/etc/mezite/mezite.yaml

Verify Installation

After installation, confirm that the binaries are available and report the expected version:

Verify binaries bash
$ mezhub version
mezhub v0.15.0 linux/amd64

$ msh version
msh v0.15.0 linux/amd64

$ mezctl version
mezctl v0.15.0 linux/amd64

$ mezd version
mezd v0.15.0 linux/amd64

If the commands are not found, make sure /usr/local/bin (or wherever you placed the binaries) is on your PATH.


Next Steps