Install openhost
As of v0.3.0+ (once the first release fires the binary workflow) you have two options: grab a pre-built archive from GitHub Releases, or build from source. Pre-built is the fast path.
Pre-built binaries
Section titled “Pre-built binaries”Download the archive for your platform from the GitHub Releases page:
| Platform | Archive |
|---|---|
| Linux x86_64 | openhost-linux-x86_64.tar.gz |
| macOS Apple Silicon (M-series) | openhost-macos-aarch64.tar.gz |
| macOS Intel | openhost-macos-x86_64.tar.gz |
| Windows x86_64 | openhost-windows-x86_64.zip |
Each archive carries three binaries (openhostd, openhost-dial, openhost-resolve), the CHANGELOG.md, both LICENSE-* files, and the distribution/ tree (systemd unit + launchd plist + install notes).
# Linux / macOScurl -sSL https://github.com/kaicoder03/openhost/releases/latest/download/openhost-linux-x86_64.tar.gz \ | tar xzinstall -m 0755 openhost-linux-x86_64/openhost* ~/.local/bin/
# Windows PowerShellInvoke-WebRequest -Uri https://github.com/kaicoder03/openhost/releases/latest/download/openhost-windows-x86_64.zip -OutFile openhost.zipExpand-Archive openhost.zip -DestinationPath .Verify:
openhostd --versionopenhost-dial --versionopenhost-resolve --versionAll three should print the same version, matching the release tag.
Running as a service
Section titled “Running as a service”- Linux (systemd): copy
distribution/systemd/openhostd.serviceinto/etc/systemd/system/and follow the distribution README. - macOS (launchd): copy
distribution/launchd/com.openhost.openhostd.plistto~/Library/LaunchAgents/. - Windows: run
openhostd runfrom a terminal for now; a Windows Service wrapper is tracked as a future ROADMAP item.
Homebrew
Section titled “Homebrew”macOS (Apple Silicon + Intel) and Linux x86_64 can install via Homebrew once the tap repo is live:
brew tap kaicoder03/openhostbrew install openhostThe formula ships the three binaries (openhostd, openhost-dial, openhost-resolve) only; follow Running as a service above for launchd / systemd setup.
The tap repo at kaicoder03/homebrew-openhost is a companion to the main repo; it’s created + populated by a maintainer on the first v0.3.0+ release. If the brew tap above fails with a 404, the tap is not yet live — install directly from the formula in the main repo instead:
brew install --HEAD https://raw.githubusercontent.com/kaicoder03/openhost/main/distribution/homebrew/openhost.rbSee distribution/homebrew/README.md for the formula source, the pre-tap testing procedure, and the maintainer’s tap-setup checklist.
Build from source
Section titled “Build from source”Fallback when pre-built isn’t an option: a supported platform that isn’t on the pre-built list, or a build-from-HEAD for pre-release work.
Prerequisites
Section titled “Prerequisites”- Rust 1.90 (stable). The repository pins this version via
rust-toolchain.toml, sorustupfetches it automatically the first time you build. - pnpm (only if you also want to work on this documentation site).
- macOS, Linux, or Windows. The daemon has been exercised on all three.
Install rustup from rustup.rs if you don’t have it; no other Rust setup is required.
Clone and build
Section titled “Clone and build”git clone https://github.com/kaicoder03/openhost.gitcd openhost
# Daemon + (optional) debug CLI that reads pkarr records.cargo build --release -p openhost-daemon
# Client crate, including the openhost-dial + openhost-resolve binaries# that sit behind the `cli` feature.cargo build --release --features cli -p openhost-clientThe first build fetches the pinned toolchain and every dependency, and will take 3–8 minutes on a warm machine. Subsequent builds are incremental.
Where the binaries land
Section titled “Where the binaries land”target/release/openhostd # host daemontarget/release/openhost-dial # client CLI — dial a host, get an HTTP responsetarget/release/openhost-resolve # debug CLI — inspect a host's published pkarr recordCopy them into a directory on your PATH; ~/.local/bin or /usr/local/bin are common choices.
install -m 0755 target/release/openhostd ~/.local/bin/install -m 0755 target/release/openhost-dial ~/.local/bin/install -m 0755 target/release/openhost-resolve ~/.local/bin/Platform notes
Section titled “Platform notes”- macOS. The build uses a forked
webrtccrate pinned via the workspace’s[patch.crates-io]. Apple’s toolchain occasionally lags onrustls/ringABI compatibility; if a build fails, arustup toolchain update stableis usually enough. - Linux. No distro-specific packages required beyond a working C toolchain for
ring’s assembly fast paths (build-essentialon Debian/Ubuntu,base-develon Arch). - Windows. Build works under both MSVC and GNU toolchains; MSVC gets better download sizes. The pair-DB file watcher uses ReadDirectoryChangesW under the hood; no extra configuration needed.
What’s next
Section titled “What’s next”Homebrew tap, Windows Service wrapper, and musl / Alpine Linux builds are tracked in ROADMAP.md. Binary releases for Linux x86_64, macOS (aarch64 + x86_64), and Windows x86_64 fire automatically on every v* tag via .github/workflows/release.yml.
With the binaries in place, head to Quickstart to bring up a reachable service.