Homelab-first • Tailscale/tsnet RPC • Containers + VMs

Run services fast with yeet.

Yeet is a lightweight client + server setup for deploying and managing services on remote Linux hosts. It’s optimized for a personal homelab: fast workflows, minimal ceremony, and a tight CLI that ships compose stacks, Dockerfiles, images, binaries, scripts, cron jobs, and Firecracker-backed Linux VMs over your tailnet.

Read this first: Yeet is opinionated homelab tooling. It works best with Linux hosts you control, Tailscale/tsnet for RPC, systemd, and Docker when deploying container payloads.
Quick bootstrap
# install yeet
curl -fsSL https://yeetrun.com/install.sh | sh

# bootstrap a host
yeet init root@<machine-host>

# deploy a compose stack
yeet run <svc> ./compose.yml

# create a VM
yeet run <vm> vm://ubuntu/26.04
yeet ssh <vm>
Want the full workflow? Read the Workflows guide.

Deploy from the terminal or the browser

Use the CLI when you know the flags. Use yeet run --web for a guided first deploy with the same config saved to yeet.toml and terminal output mirrored in the browser.

yeet run --web
yeet run <svc> ./compose.yml
The yeet web deploy form configuring a new service

Core pieces

Yeet keeps the surface area small and explicit.

yeet CLI

Packages payloads, ships artifacts, and drives the workflow.

catch daemon

Installs, runs, and monitors services on each host.

catchrpc

JSON-RPC + streaming exec/events over your tailnet.

Internal registry

Push local images once, run them on the host immediately.

Common workflows

Run what you already have. Yeet detects the payload type.

Compose stack

Workflow docs
yeet run <svc> ./compose.yml
yeet run --pull <svc> ./compose.yml
yeet logs -f <svc>