Install
Two binaries and two plugins ship prebuilt:
| Package | Binary | What it does |
|---|---|---|
moq-relay | moq-relay | The relay server |
moq | moq | The media router: publish, play, convert, gateways, and moq auth |
| GStreamer plugin | moqsink, moqsrc | GStreamer elements |
| OBS plugin | OBS 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
# 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 --helpStatic 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+.
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-moqFedora, RHEL, and openSUSE
Fedora 39+, RHEL 9, Rocky 9, AlmaLinux 9. On openSUSE use zypper addrepo.
sudo curl -fsSL https://rpm.moq.dev/moq.repo -o /etc/yum.repos.d/moq.repo
sudo dnf install moq-relay moq gstreamer1-moqBoth 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:
sudo systemctl enable --now moq-relay
sudo journalctl -u moq-relay -fThe service runs as a dynamic user with CAP_NET_BIND_SERVICE, so port 443 works without root, and config edits survive upgrades.
Windows
winget install moq-dev.moq-relay
winget install moq-dev.moqThe 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-binPKGBUILD 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.