MoQ is under active development. APIs and protocols may change between releases.

Skip to content

Install ​

Two binaries and two plugins ship prebuilt:

PackageBinaryWhat it does
moq-relaymoq-relayThe relay server
moqmoqThe media router: publish, play, convert, gateways, and moq auth
GStreamer pluginmoqsink, moqsrcGStreamer elements
OBS pluginOBS Studio output and source

Package names match the executables everywhere except crates.io, where the crate is moq-cli. Existing Homebrew installs migrate through formula renames; apt upgrades use transitional packages, and dnf replaces the old packages. The moqdev/moq-cli Docker image and the #moq-cli flake package stop at 0.12.2 and now exit with an error naming moqdev/moq and #moq.

Use moq auth for keys and tokens; installing moq includes it.

Any platform ​

bash
# crates.io (needs a Rust toolchain)
cargo install moq-relay moq-cli

# Homebrew (macOS and Linux)
brew install moq-dev/tap/moq-relay moq-dev/tap/moq

# Nix (`release` builds from source; a release tag such as moq-relay-v0.12.4 uses the binary cache)
nix run github:moq-dev/moq/release#moq-relay -- relay.toml
nix run github:moq-dev/moq/release#moq -- --help

# Docker (linux/amd64 and linux/arm64)
docker run -p 4443:4443/udp -p 4443:4443/tcp -v "$PWD/relay.toml:/app/relay.toml:ro" moqdev/moq-relay /app/relay.toml
docker run -i moqdev/moq --help

Static binaries for Linux (x86_64, aarch64), macOS (Apple Silicon), and Windows (x64) are attached to every GitHub release. The Nix cache at kixelated.cachix.org only holds tagged releases, so the release branch builds from source.

Debian and Ubuntu ​

Debian 12+ and Ubuntu 22.04+. The GStreamer plugin needs GStreamer 1.22, so it is available on Debian 12+ and Ubuntu 24.04+.

bash
curl -fsSL https://apt.moq.dev/moq-keyring.gpg | sudo tee /usr/share/keyrings/moq-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/moq-keyring.gpg] https://apt.moq.dev stable main" | sudo tee /etc/apt/sources.list.d/moq.list
sudo apt update
sudo apt install moq-relay moq gstreamer1.0-moq

Fedora, RHEL, and openSUSE ​

Fedora 39+, RHEL 9, Rocky 9, AlmaLinux 9. On openSUSE use zypper addrepo.

bash
sudo curl -fsSL https://rpm.moq.dev/moq.repo -o /etc/yum.repos.d/moq.repo
sudo dnf install moq-relay moq gstreamer1-moq

Both repositories are signed with the project key, served at https://apt.moq.dev/moq-keyring.gpg and https://rpm.moq.dev/moq-keyring.gpg.

Running the relay as a service ​

The Linux packages install a systemd unit and a default config at /etc/moq-relay/relay.toml. Put the certificate, key, and JWK under /var/lib/moq-relay/, then:

bash
sudo systemctl enable --now moq-relay
sudo journalctl -u moq-relay -f

The service runs as a dynamic user with CAP_NET_BIND_SERVICE, so port 443 works without root, and config edits survive upgrades.

Windows ​

powershell
winget install moq-dev.moq-relay
winget install moq-dev.moq

The OBS plugin ships as a zip for Windows x64 and macOS arm64 on the obs-moq releases; see OBS. To build the repository itself on Windows, see Development.

Other ​

  • Arch Linux: a community-maintained moq-relay-bin PKGBUILD lives in the AUR.
  • Air-gapped hosts: use the release binaries. They link glibc 2.34+, so Alpine and other musl distributions should use the Docker image or build from source.
  • From source: cargo build --release -p moq-relay (or -p moq-cli) in a checkout.

Licensed under MIT or Apache-2.0