Homelab-first • Tailscale RPC • Docker + systemd

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 binaries, Dockerfiles, compose stacks, and images over your tailnet.

Read this first: Yeet is personal infrastructure tooling tuned for a specific homelab. Use it as reference or a starting point, not a general-purpose platform.
Quick bootstrap
# install yeet
curl -fsSL https://yeetrun.com/install.sh | sh

# bootstrap a host
yeet init root@<host>

# deploy a compose stack
yeet run <svc> ./compose.yml --net=svc,ts
Want the full workflow? Read the Workflows guide.

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

yeet run <svc> ./compose.yml
yeet run --pull <svc> ./compose.yml

Dockerfile

yeet run <svc> ./Dockerfile

Binary

GOOS=linux GOARCH=amd64 go build -o ./bin/<svc>
yeet run <svc> ./bin/<svc>