catch Reference

Host-side catch commands for manual installs and startup debugging.

Catch runs on remote Linux hosts and receives requests from yeet. For normal operation, install and update catch with yeet init.

Use catch directly only when you are debugging startup, doing a manual install, or checking the binary on the host. Direct catch commands bypass some of the guardrails yeet init gives you.

Usage

catch [flags] [install|version|is-catch]

Commands

  • install: install catch as a system service on the host.
  • version: print the catch build version.
  • is-catch: print yes for detection.

Common flags

  • --data-dir: base directory for catch state. Installed catch uses the data directory selected during install. Manual runs default to data under the current working directory.
  • --tsnet-host: catch Tailscale hostname. Default: catch.
  • --tsnet-port: catch RPC port on its Tailscale identity.

See Data Layout for host storage and Tailscale for Tailscale setup.

Docker during install

During catch install, catch requires Docker for container payloads. If Docker is missing, interactive installs can prompt to install it. This is host setup, not something each app needs to ship.

For normal installs, prefer:

yeet init root@<machine-host>

For manual non-interactive catch installs on Debian/Ubuntu-style hosts, set:

CATCH_INSTALL_DOCKER=1

When to run catch directly

Use direct catch invocation only when you are installing manually, checking the catch version on the host, or debugging catch startup. If the goal is to deploy or operate services, use the yeet command path so local config, host targeting, and auth behavior stay in the normal loop.

Use Host Setup for the supported bootstrap path and yeet Commands for normal operations.