Install
Install yoink via Homebrew, Cargo, curl, or a pre-built binary — all produce the same single binary on your PATH.
Yoink is a single self-contained binary: no daemon, no config bootstrap, no runtime. All four install paths produce the same yoink on your PATH.
brew install oddur/yoink/yoinkThe Homebrew tap (oddur/homebrew-yoink) is auto-updated by every release. brew upgrade oddur/yoink/yoink rolls forward.
cargo install --git https://github.com/oddur/yoink yoinkBuilds from source. Useful when you want the latest main rather than a tagged release. MSRV is 1.95.
curl -LsSf https://github.com/oddur/yoink/releases/latest/download/yoink-installer.sh | shThe cargo-dist generated installer. Fetches the right tar.xz for your platform, drops the binary in ~/.cargo/bin/.
Grab the tar.xz for your platform from the latest release:
yoink-aarch64-apple-darwin.tar.xzfor macOS Apple Siliconyoink-x86_64-apple-darwin.tar.xzfor macOS Intelyoink-x86_64-unknown-linux-gnu.tar.xzfor Linux x86_64
Extract and put the binary on $PATH.
Verify
yoink --versionPrerequisites for actual deploys
Yoink doesn't bootstrap docker; it expects:
- Docker on the host(s): installed, running, and the deploy user is in the
dockergroup - SSH access from the operator's machine to each host: yoink uses
ssh://user@hostto reach the docker daemon, no docker socket exposed over TCP - For local-build workflows: docker on the operator's machine too (
yoink buildshells out todocker build)
Tailscale pairs especially cleanly with the SSH transport; see Pairing.
Next: your first deploy
Yoink installed, host with Docker + SSH ready? Head to Five-minute first deploy; two commands take you from a fresh VPS to a running app behind a healthcheck-gated rolling deploy.
Upgrading
brew upgrade oddur/yoink/yoink # Homebrew
cargo install --git https://github.com/oddur/yoink yoink --force # cargo
curl -LsSf https://github.com/oddur/yoink/releases/latest/download/yoink-installer.sh | sh # installer scriptRelease notes for every version are on the GitHub releases page. Yoink follows SemVer; minor bumps may add new fields but won't break existing yoink.yaml configs.
See also
- First deploy — drop a
yoink.yaml, run one command. - Hetzner cx23 quickstart with HTTPS — empty cloud account → live HTTPS in 90 seconds.