---
title: "Install"
subtitle: "Install the gateway with pip, cargo, a release binary, or Docker."
---

Every method gives you the same `respan-gateway` command. Check it after installing:

```bash
respan-gateway --version
```

## pip

```bash
pip install respan-gateway
```

The package needs Python 3.10 or later. It installs the `respan-gateway` command and the `respan_gateway` module, which can also run the gateway [inside your Python process](/docs/oss-gateway/python). Wheels are published for Linux (x86_64, arm64), macOS (Intel, Apple silicon) and Windows (x86_64), with the web UI built in.

<Warning>
The Linux wheels of the current release (0.2.0) are tagged `manylinux_2_39`, so they need glibc 2.39 or later, such as Ubuntu 24.04 or Debian 13. On older distributions, such as Ubuntu 22.04 or Debian 12, pip falls back to building from the source package, which needs a Rust toolchain and has no web UI. Use [cargo](#cargo) or [Docker](#docker) there instead.
</Warning>

## cargo

With Rust 1.88 or later:

```bash
cargo install respan-gateway
```

The crate on crates.io has the web UI built in. To install from the repository's `main` branch instead:

```bash
cargo install --git https://github.com/respanai/respan-gateway respan-gateway
```

A build from git has no web UI: `/ui/` shows a page that says how to build it, and the admin API still works. To include the UI, build it first from a checkout, with Node 22 and pnpm:

```bash
git clone https://github.com/respanai/respan-gateway
cd respan-gateway/apps/ui
pnpm install --frozen-lockfile
pnpm build
cd ../..
cargo install --path apps/gateway
```

## Release binaries

Each [GitHub release](https://github.com/respanai/respan-gateway/releases) has a binary with the web UI built in, plus a `SHA256SUMS` file. Each archive holds `respan-gateway` (or `respan-gateway.exe`) and the license files.

| Platform | Asset |
| --- | --- |
| Linux x86_64 | `respan-gateway-<version>-x86_64-unknown-linux-gnu.tar.gz` |
| Linux arm64 | `respan-gateway-<version>-aarch64-unknown-linux-gnu.tar.gz` |
| macOS Apple silicon | `respan-gateway-<version>-aarch64-apple-darwin.tar.gz` |
| macOS Intel | `respan-gateway-<version>-x86_64-apple-darwin.tar.gz` |
| Windows x86_64 | `respan-gateway-<version>-x86_64-pc-windows-msvc.zip` |

`<version>` is the tag, such as `v0.2.0`. For example, on Linux x86_64:

```bash
VERSION=v0.2.0
TARGET=x86_64-unknown-linux-gnu
curl -fsSLO "https://github.com/respanai/respan-gateway/releases/download/$VERSION/respan-gateway-$VERSION-$TARGET.tar.gz"
tar xzf "respan-gateway-$VERSION-$TARGET.tar.gz"
sudo mv "respan-gateway-$VERSION-$TARGET/respan-gateway" /usr/local/bin/
```

## Docker

```bash
docker pull ghcr.io/respanai/respan-gateway:main
```

The image listens on all addresses, so it needs a client key to start. See [Deploy with Docker](/docs/oss-gateway/docker).

## After installing

```bash
respan-gateway init     # write a commented gateway.toml from the keys in your environment
respan-gateway check    # validate the config and print what it serves
respan-gateway          # serve
```

You don't need a config file to start: with none, every vendor whose key is set becomes a provider. See the [Quickstart](/docs/oss-gateway/quickstart) and the [CLI](/docs/oss-gateway/cli) reference.
